Dediğinizi yaptım ama hiç bir sonuç çıkmadı..
Veritabanında dogum tarihlerini
YYYY-AA-GG olarak kayıt etmişim
Örneğin forumdan 20 ile 25 yaş arası aranmak istediginde bu degerler şöyle bir yoldan geçiyor
$yas1=mysql_real_escape_string(strip_tags(trim($_GET['yas1'])));
$yas2=mysql_real_escape_string(strip_tags(trim($_GET['yas2'])));
// Yaslar arasi arama yapmak icin yaslari dogum tarihine ceviriyoruz
$simdikizaman = explode("-", trtarih());
$ilkyas=$simdikizaman[0]-$yas1; // dogum YILINI bulduk
$sonyas=$simdikizaman[0]-$yas2; // dogum YILINI bulduk
$ilkyasara=$ilkyas."-".$simdikizaman[1]."-".$simdikizaman[2];
$sonyasara=$sonyas."-".$simdikizaman[1]."-".$simdikizaman[2];Bu yoldan geçtikten sonra
20 degerimiz 1994-10-23 oluyor
25 degerimiz 1989-10-23 oluyor
bende elde ettigim 1994-10-23 ve 1989-10-23 degerlerini şu şekilde aratıyorum
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 ".....çekilenler.....";
}Az önce dediginiz kısmıda ekledim sırf tatmin olmak için ama sonuç başarısız..
İkinci tarihinizin ($sonyasara)'nın birinci tarihinizden ($ilkyasara) daha erken bir tarih olmasından kaynaklanıyor olabilir. Yerlerini değiştirerek deneyebilirsiniz. Belki sorununuz çözülür.
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 '$sonyasara' and '$ilkyasara' ORDER BY id desc limit $a,$limit");
while ($cek=mysql_fetch_array($arama)) {
echo ".....çekilenler.....";
}