• 22-10-2014, 12:18:29
    #1
    Merhaba, sitemde uyelerin doğum tarihini GG-AA-YYYY seklinde alıyorum
    ve bu uyelerin yaşını profillerine göstermek için aşağıdaki kodları hazırladım

    $dogumtarihi="10-10-1985";
    $simdikitarih=date("d-m-Y");
    
    $a = explode("-", $simdikitarih);
    $b = explode("-", $dogumtarihi);
    $bulunanyas=$a[2]-$b[2];
    
    if($a[1]<$b[1]) {
    $yas=$bulunanyas-1;
    }elseif($a[1]==$b[1]) {
    if($a[0]>$b[0]) {
    $yas=$bulunanyas-1;
    }else{
    $yas=$bulunanyas;
    }
    } else {
    $yas=$bulunanyas;
    }
    echo "<b>".$yas."</b> Yaşındasınız";
    Bunu fonksiyon haline getirip ayarlar sayfasına eklemek ve yasbul(10-10-1985); yazdıgımda kişinin yaşını ekrana basmak istiyorum.


    Yada GUN AY YIL olarak yaş hesaplaması yapan bir fonksiyon varsa onuda alabilirim..
  • 22-10-2014, 12:48:55
    #2
    Sizin Kodlarınızın fonksiyona dökülmüş hali işinize yarar umarım
    function yasbul($yas){
    	if(empty($yas)):
    		$sonuc	= 'Doğum Tarihi Boş Bırakılamaz';
    	else:
    			$tarih 		= date("d-m-Y"); 
    			$parca  	= explode("-", $tarih); 
    			$parca1 	= explode("-", $yas); 
    			$bulunan	= $parca[2]-$parca1[2]; 
    
    			if($parca[1]<$parca1[1]): 
    				$sonuc	= $bulunan-1; 
    			elseif($parca[1]==$parca1[1]):
    				if($parca[0]>$parca1[0]): 
    					$sonuc	= $bulunan-1; 
    				else: 
    					$sonuc	= $bulunan; 
    				endif; 
    			else:
    				$sonuc	= $bulunan; 
    			endif; 
    	endif;
    	echo $sonuc;
    }
    
    yasbul('12-12-1988') ;
  • 22-10-2014, 17:50:03
    #3
    By_MiLaT adlı üyeden alıntı: mesajı görüntüle
    Sizin Kodlarınızın fonksiyona dökülmüş hali işinize yarar umarım
    function yasbul($yas){
    	if(empty($yas)):
    		$sonuc	= 'Doğum Tarihi Boş Bırakılamaz';
    	else:
    			$tarih 		= date("d-m-Y"); 
    			$parca  	= explode("-", $tarih); 
    			$parca1 	= explode("-", $yas); 
    			$bulunan	= $parca[2]-$parca1[2]; 
    
    			if($parca[1]<$parca1[1]): 
    				$sonuc	= $bulunan-1; 
    			elseif($parca[1]==$parca1[1]):
    				if($parca[0]>$parca1[0]): 
    					$sonuc	= $bulunan-1; 
    				else: 
    					$sonuc	= $bulunan; 
    				endif; 
    			else:
    				$sonuc	= $bulunan; 
    			endif; 
    	endif;
    	echo $sonuc;
    }
    
    yasbul('12-12-1988') ;
    İlgin için tşk ederim..
    Bu kodu kullanmak isteyen arkadaşlar olabilir diye bi düzeltme yapalım.
    Kodların sonundaki echo $sonuc; satırını return $sonuc; yapınca sorunsuz çalışıyor..

    Hayırlı çalışmalar..