Arama butonu
Bu konudaki kullanıcılar: 1 misafir
4
Cevap
552
Tıklama
0
Öne Çıkarma
MYSQL Sorgu İfadeleri Sorunu
E
10 yıl
Onbaşı
Konu Sahibi

Merhaba

bir arama.php sayfasında ilk arama seçeneklerinde


emlak türü => $emtur

il => $il

ilce => $ilce

Fiyat ___
Alt limit => $altf
Üst limit => $ustf

şeklinde bir arama formum var.aldığım değerleri yine aynı arama.php sayfasına post ediyorum.Sorun ise şurda başlıyor

mysql_query sorgusunu şu şekilde yaparsam :

select * from emlaklar WHERE anakat like '%$emtur%' && il like '%$il%'   
&& ilce like '%$ilce%' && fiyat<='$ustf' && fiyat>='$altf' ORDER BY id desc


arama kutusundan sadece emlak türü (select box'tan - satilik,kiralık) seçerek arama yaptırdığımda hiçbir sonuç alamıyorum

Eğer mysql sorgumdan fiyat kısımlarını çıkartırsam

select * from emlaklar WHERE anakat like '%$emtur%' && il like '%$il%'   
&& ilce like '%$ilce%' ORDER BY id desc


tüm aramalarda sonuç alabiliyorum...

işin tuhaf tarafı sorun yaşadığım sorguyu sql üzerinde gerçekleştirdiğimde istediğim satırı alabiliyorum :S veya sorguyu ilk haliyle kullandığımda hiç bir hata kodu almıyorum...

bu türlü sql sorgularında yan yana kullanmamamız gereken operatörler ( and ve büyük küçük sorgusu gibi) var mı ?

Bu sorunu nasıl çözebilirim ?

İlgilenen Dostlara Teşekkür Ederim





< Bu mesaj bu kişi tarafından değiştirildi esesdi -- 14 Kasım 2014; 20:25:28 >

E
10 yıl
Onbaşı
Konu Sahibi

eklemedir koca konak

Sonradan farkedildiğinde sanıyorum ki altf ve ustf post edilmediğinde sorguda bir mantık hatası gerçekleşiyor diğerlerinde like kullanıldığı için post edilmeyen diğer değişkenler sorun yaratmıyor...

Geçici bir çözüm olarak
oluşturduğum alt limit ve ust limit select box'a ilk satırlarına
alt limit için
<option value="50000"></option>
üst limit için
<option value="900000"></option>
yazdım ancak bu elbette geçici bir çözüm

böyle bir sorgu yapmak istediğimizde nasıl yapabileceğimiz konusunda fikir vereceklere şimdiden teşekkürler



M
10 yıl
Yüzbaşı

fiyat<='$ustf' && fiyat>='$altf' diye bir sorgu olmaz . BETWEEN 900000 AND 50000 olur.



< Bu ileti mini sürüm kullanılarak atıldı >

E
10 yıl
Onbaşı
Konu Sahibi

yani between $altf and $ustf dogru bir sorgu mudur ?



< Bu ileti mobil sürüm kullanılarak atıldı >

M
10 yıl
Yüzbaşı

select * from emlaklar WHERE anakat like '%$emtur%' && il like '%$il%'
&& ilce like '%$ilce%' && fiyat<='$ustf' && fiyat>='$altf' ORDER BY id desc


bak . emlaklardan sec tipi kiralik dedin . il sorguda olana benzesin dedin , ilce benzesin dedin , sonra iki limit fiyat arasini cekmek istemissin . ama onun yerine fiyati alt fiyatin ustunde olsun ve fiyati ust limitin altinda olsun demissin . orada mantik cokuyor iste oyle sorgu olmaz .

between dersen limitlerin arasini alacak iste.



< Bu ileti mini sürüm kullanılarak atıldı >

DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.