Kendi sitemdeki içerikler için kendi çapımda bir arama motoru geliştirmeye çalışıyorum.
$(function(){
$("#sonuclar").hide();
// Tıklandığında işlem yap
$(".search_input").keyup(function(){
// Veriyi alalım
var value = $(this).val();
var deger = "value="+value;
$.ajax({
type: "POST",
url: "yolla.php",
data: deger,
success: function(cevap){
if(cevap == "yok"){
$("#sonuclar").show().html("");
$("#sonuclar").html("Hiç bir sonuç bulunamadı");
}else if(cevap=="bos"){
$("#sonuclar").hide();
} else{
$("#sonuclar").show();
$("#sonuclar").html(cevap);
}
}
})
});
});<?
if($_POST){
include("fonksiyonlar/baglanti.php");
$value = mysql_real_escape_string(strip_tags(rtrim($_POST[value])));
if(!$value){
echo 'bos';
}else{
$find=mysql_query("SELECT *, MATCH (baslik,spot,yazi) AGAINST ('$value*') AS score FROM Yazilar ORDER BY score DESC LIMIT 6");
if(mysql_affected_rows()){
echo '<li>'.$value.'</li>';
while($row=mysql_fetch_assoc($find)){
echo '<li>'.$row[baslik].'</li>';
}
}else{
echo 'yok';
}
}
}else{
header("Location: index.php");
}
?>şeklinde arama kodum var. ajax ile sonuçlar google gibi yazmaya başladıkça geliyor ama sorun buradan sonra başladı.fulltext aramanın benim için daha mantıklı olabileceğini düşündüğümden where like olayına girmedim.
arama kelimesi yazılmaya başlandığında ilk satır yazılanı taklit etme oluyor. ardından arama sonuçları diziliyor. buraya kadar bir sorun yok.
örneğin bilet yazdım diyelim
ilk satır bilet
ikinci satır içinde "biletleri" kelimesinin geçtiği sonuç
üçüncü satır yine içinde "biletleri" kelimesinin geçtiği başka bir satır.
tabi bende bu ikisi ['baslik'] olarak geliyor normal olarak.
Burada aşmaya çalıştığım konu şu. yine "bilet" ten yola çıkacak olursak arama kutusuna bilet yazıldığında ve karşılık olarak biletleri (biletlerin, biletlerden gibi çoğaltılabilir ve hatta mümünse 2 tane biletleri varsa bunu sadece 1 kere yazması) kelimesini bulduğunda altında [baslik] olarak değil de biletleri olarak sonuç vermesi (tabi bu ajax tarafı için geçerli, post edildiğinde (ara butonu kullanıldığında) arama sonuçları sayfasında satır satır bulunanları çekeriz o sorun değil)
Umarım anlatabilmişimdir.
Bu konuda destek verebilecekleri arıyorum