Kodları lütfen aşağıdaki butonları kullanarak renklendirin. Örnek: <php> echo "Selam Dünya"; </php>
Yardım
karakter kaldı

Bir tabloya özgü arama sql'i oluşturmak

Selam.
bir tablodaki bir alanı arayan bir input type=text alanım var ama sonuçlar istediğim gibi gelmiyor.

Mesela kullanıcı "naber len hırbo" diye bir arama yaptığı zaman sonuç bulunamıyor çünkü "like '%naber len hırbo%'" diye arıyorum ama bulmasını istediğim kayır "naber len" şeklinde.

Bunu nasıl aramak lazım, bir de tek alanda değil de birden fazla alanda aramam gerekirse ne olacak?
+0
-0
Cevaba KatılıyorumKatılmıyorum
Cevap Yaz Yorum Yaz Arşivime Ekle Takip Et

Cevaplar

  • charles adlı üyenin fotoğrafı
    13 yıl önce yazılmış
    2 cevap - 1 soru
    Yani bulmaması doğal, ama şunu yapabilirsin: boşlukları falan % ile değiştirirsin böylece "naber len hırbo" olur sana "naber%len%hırbo".
    Ama tabii bu sefer bir yerlerde mutlaka hırbo da geçmesi lazım ayrıca "naber len" in yanyana olacağıınn bi garantisi yok...

    Bu arada like ile bu şekilde aradığında MySQL index'leri de kullanamayacağı için acayip yavaş olur onu da söyleyeyim.

    MySQL fulltext search deneyebilirsin ama o da sadece myisam tablo tipinde çalışır bir de türkçe ile çok da başarılı değil bildiğim kadarıyla. Tablo tipin innodb ise başka bir tabloda sadece aranacak alanı myisam olarak tutmak bir çözüm olabilir.