Şimdi Ara

MYSQL Sorgu İfadeleri Sorunu

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
5
Cevap
0
Favori
551
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • 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 >







  • 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
  • fiyat<='$ustf' && fiyat>='$altf' diye bir sorgu olmaz . BETWEEN 900000 AND 50000 olur.

    < Bu ileti mini sürüm kullanılarak atıldı >
  • yani between $altf and $ustf dogru bir sorgu mudur ?

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • 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ı >
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.