• 21-11-2013, 20:23:21
    #1
    Arkadaşlar sabahtandır uğraşıp duruyorum ama nerede hata yaptığımı bir türlü çözemedim gitti.

    Sorunum şu:
    set rs=baglanti.execute("select * from dergi where onay='1' AND yayinda='1' AND yazar like '%"&ara&"%' or dergi_adi like '%"&ara&"%' or yayin_adi like '%"&ara&"%'  order by id desc limit 0,20;")
    kodunda sorunsuz arama yaptırabiliyorken

    set rs=baglanti.execute("select * from dergi where onay='1' AND yayinda='1' AND yazar like '%"&yazar&"%' or yazar like '%"&ara&"%' AND dergi_adi like '%"&dergi&"%' or dergi_adi like '%"&ara&"%' AND cilt like '%"&cilt&"%' or cilt like '%"&ara&"%' AND bolum like '%"&bolum&"%' or bolum like '%"&ara&"%' AND sayfa like '%"&sayfa&"%' or sayfa like '%"&ara&"%' AND yayin_adi like '%"&ara&"%'  order by id desc limit 0,20;")
    kullandığımda onaylı onaysız ne varsa rastgele db'de olmayan bir veri dahi girilse arama sonuçlarınsa ne kadar onay değeri 1 ve yayında değeri 1 olan varsa sıralanıyor. DB'de olan bir veri girildiğinde ise ONAYLI-ONAYSIZ ve YAYINDA-PASIF tüm veriler geliyor kafam allak bullak oldu... Neresinde hata yapıyorum göremiyorum resmen kör oldum...
  • 21-11-2013, 20:39:31
    #2
    Alıntı
    sayfa like '%"&ara&"%' AND yayin_adi like '%"&ara&"%'
    burda sayfanın da yayın adının da aranan kelime olma şartını arıyor olabilir.
  • 21-11-2013, 20:51:23
    #3
    Clable adlı üyeden alıntı: mesajı görüntüle
    burda sayfanın da yayın adının da aranan kelime olma şartını arıyor olabilir.
    ancak yinede yayında ve onaysızları göstermemesi lazım değil mi?
  • 21-11-2013, 21:02:48
    #4
    yani evet ama gözden kaçırdığımız bir şey var demek ki :/ and'leri ve or'ları şurda gösterildiği gibi parantezlere alarak gruplamayı deneyin bu şekilde birbirine karıştığı için bizim anladığımızla sql'in anladığı aynı olmayabilir http://www.techonthenet.com/sql/and_or.php
  • 21-11-2013, 22:15:17
    #5
    Clable adlı üyeden alıntı: mesajı görüntüle
    yani evet ama gözden kaçırdığımız bir şey var demek ki :/ and'leri ve or'ları şurda gösterildiği gibi parantezlere alarak gruplamayı deneyin bu şekilde birbirine karıştığı için bizim anladığımızla sql'in anladığı aynı olmayabilir http://www.techonthenet.com/sql/and_or.php
    aldım onuda denedimde kafa durdu işte bende sitenin o kısmını şimdilik bıraktım tekrar baştan kontrol ederek yeniden yazacağım... en azından bir bölgede yoğunlaşmayayım yoksa sitenin biteceği yok Belki biri kodda nerede hata yaptığımı tam anlamıyla görür işimi kolaylaştırır

    Kütüphane kitap kayıt sorgulama sayfasında

    Yalnızca onaylı ve yayındaki kitapları arayan bir arama sayfası için çabalıyorum...

    VT yapısı:
    onay|yayinda|dergi_adi|yazar|cilt|bolum|sayfa|yil| alan|yayin_adi(başlık)|sayfa sütunlarından oluşuyor.

    Arama sayfasında ise;
    Tüm alanlarda arama ve ayrı ayrı olarak yazar, cilt, bolum, sayfa, yil, yayin_adi, yazar, dergi_adi, alan kısımlarına göre arama yapacak.

    Ama işte kafa durdu... Yardımcı olabilecek varsa çok makbule geçer...