Doğru Cevap
-
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
Toblo yapısını MyISAM, arama yapacağınız kolonu da fulltext index olarak ayarlarsanız, daha verimli bir çalışma yapmış olursunuz.11 yıl önce yazılmış
-
Cevaplar
-
Ş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
Verdiğiniz cevap için teşekkürler.
ancak like istediğimi kesinlikle yeterince karşılamıyor.11 yıl önce yazılmış
-
-
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
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.11 yıl önce yazılmış
-