Merhaba arkadaşlar,
Uzun bir zaman sonra bir script yaptım ve ciddi bir hataya imza atmışım.
Üyelerin yaşını almak için Gün-Ay-Yıl değilde iki haneli sayı olarak alıyordum..
Zaman geçmesine ragmen uyelerin yaşlarının değişmedigini farkedince hatanın büyüklüğünü anladım..
şimdi veritabanındaki tüm yaşları 01.01.YYYY olarak değiştirdim
bu sefer şöyle bir ihtiyaç ortaya çıktı..
Üye yaşlarında 20 ile 30 yaş arasını çekmek istersem nasıl bir mantık yürütmem lazım ? sadece yıla göre degil tam yaşını bulmak için gun ve ayda olması lazım aksi halde sonuclarda çelişki çıkıyor.
Çözebilirim gibi geliyor bana ama şuanda beynim ERROR veriyor.
DÜZENLEME:
Veritabanında dogum tarihleri şu şekilde
01-01-YYYY
ve ben şöyle bir kod hazırladım
$yas1=$_GET['yas1']; // ornek 20 olsun
$yas2=$_GET['yas2']; // ornek 25 olsun
// Yaslar arasi arama yapmak icin yaslari dogum tarihine ceviriyoruz
$simdikiyil = explode("-", trtarih());
$ilkyas=$simdikiyil[2]-$yas1; // dogum YILINI bulduk
$sonyas=$simdikiyil[2]-$yas2; // dogum YILINI bulduk
$ilkyasara="01-01-".$ilkyas; // tam tarihe ceviriyoruz
$sonyasara="01-01-".$sonyas; // tam tarihe ceviriyoruzBu sekilde gelen rakamları doğum tarihine çevirdikten sonra sorguyu şöyle oluşturdum
if($gelencinsiyet==""){ $cins=""; } else { $cins="cinsiyet='$gelencinsiyet' and"; }
if($gelensehir==""){ $memleket=""; } else { $memleket="sehir='$gelensehir' and"; }
$arama=mysql_query("select * from uyeler where $cins $memleket onay='1' and yas BETWEEN '$ilkyasara' and '$sonyasara' ORDER BY id desc limit $a,$limit");
while ($cek=mysql_fetch_array($arama)) {
echo "...........";
}yas1 ve yas2 aynı degere sahipse arama yapıyor ama farklı ise yapmıyor
mesela ikisini 20 yaptıgımda 20 yaşındaki tüm üyeleri çekiyor..
Forumda kimse yokmu? yoksa herkes benim gibi ERROR mu veriyo

Bi teselli felan verin bari..