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

Site içi arama

Bir web sayfası için site içi arama yapacagım.

Hazırlık olarak her katogorideki her bir kayıt için keyword ler girildi. Arama yapmak istedigimizde bu keywordler icinde arama yapılacak ve sonuç olarak gösterilecek..

Ama birebir uyusma dısında bir benzer kelimlerle de arama sonucu cıksın istiyorum.

Diyelim ki;
Kayıt oluşturulurken verilen keywordlerden birisi "ağrı" olsun.

Arama kelimesi olarak "agri", "ağri", "AĞRI" "ağrılı" "ağrısız" vb kelimeleri girilip arama yapıldıgında da bu kayıt sonuclar arasında listelensin istiyorum.

Bunu yapan bir fonksiyon, class, kod parçası ya da fikire ihtiyacım var.

Teşekkürler.
+0
-0
Cevaba KatılıyorumKatılmıyorum
Cevap Yaz Yorum Yaz Arşivime Ekle Takip Et

Doğru Cevap

  • siyahbeyaz adlı üyenin fotoğrafı
    10 yıl önce yazılmış
    472 cevap - 20 soru
    Select * From tablon WHERE MATCH (baslik,aciklama) AGAINST ('Ağrı*' IN BOOLEAN MODE)
    


    yada AĞRI Farketmez.. :) yada agri D: benzer kelimeleri getirir sana.. kolay gelsin.
    • PCkoManyak adlı üyenin fotoğrafı PCkoManyak
      Toblo yapısını MyISAM, arama yapacağınız kolonu da fulltext index olarak ayarlarsanız, daha verimli bir çalışma yapmış olursunuz.
      10 yıl önce yazılmış

Cevaplar

  • Kaptanweb adlı üyenin fotoğrafı
    10 yıl önce yazılmış
    9 cevap - 12 soru
    Şuan aklıma pek bişey gelmiyor ancak. Tabloda lıke araması yapınca az çok aynı şeyleri bulacaktır. Ağrıdan türeyen kelimeler olduğu için eğer arada ses düşmesi felan olmazsa ağrı kelimesini içeren satırları bulup göstermek gerekir. Arama yaparken çok gelişmiş bir şeye gerek yok.

    Şöyle bir arama kodu yeterl olacaktır.

    
    SELECT *
    FROM `tablo_adi`
    WHERE `sütun` LIKE '%kelime%'
    
    • protest adlı üyenin fotoğrafı protest
      Verdiğiniz cevap için teşekkürler.

      ancak like istediğimi kesinlikle yeterince karşılamıyor.
      10 yıl önce yazılmış
  • Frauzer adlı üyenin fotoğrafı
    10 yıl önce yazılmış
    40 cevap - 37 soru
    Ben aranan kodun renklendirilmesiyle alakalı bir scriptle uraşmıştım.
    Mesela sizinki nasıl olur diye düşünürsek
    Ağrı kelimesini ele alalım
    Ağrı
    Ağri
    agri
    şeklinde araması gerekiyor.Siz array yaratırsınız.Sonra str_replace ile harfleri değiştirisiniz. her biri ayrı değişkende olur ve Lıke %agri% or LIKE %ağri% .... şeklinde değişkenleri sorgulatabilirsiniz. Sanırım bu size azda olsa fikir verir.
    • protest adlı üyenin fotoğrafı protest
      bunu düşünmüştüm. ama kısa kelimeler icin uygun olsa da uzun kelimeler ya da kelime grupları için imkansız hale geliyor bu yöntem.

      mesela şaşkın kelimesi çin her iki ş ve ı harfi için tüm ihtimalleri dusunmek zorunda kalacaksın. bu da 4x4x4 değişik ihtimal çıkıyor. hati buyuk küçük harflerin etkisini görmezden gel 2x2x2=8 değişik şeklde araman gerekecek..

      aslında olması gereken şu olmalı. belki bu sekilde bir fonksiyon ya da hazır class vardır.

      şaşkın kelimesini
      [şŞsS]a[şŞsS]k[ıIiİ]n
      durumuna getirip arama yapılmalı. diğer karakterler için buyuk küçük harf sıkıntısı zaten olmaz.
      10 yıl önce yazılmış