<?
//
// Site içi arama motoru gerekti bende bir fonksiyonla
// full text search sorgu tipini kullandım.
// sizinde işinize yarayabilir yada fikir verebilmesi açısından paylaşayım dedim.
// muratozturkant@gmail.com fikirlerinizi iletebilirsiniz.
ini_set('display_errors', 1);
$link = mysql_connect('localhost', 'user', 'pass');
mysql_select_db('db_adi');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
//
// İster get ile ister post ile gelsin veriler sorguya girecektir.
//
@$q=addslashes(strip_tags($_POST['q']));
@$q=addslashes(strip_tags($_GET['q']));
$q=str_replace(" ","+",$q);
function arama($q,$table,$satir) {
$q=explode("+",$q);
$qsayisi=count($q);
$satir=explode("+",$satir);
$satirsayisi=count($satir);
$virgul=$satirsayisi - 1;
$sql="select * from ".$table." where match(";
//sql tablomuzdaki hangi satırları kullanacağımızı yazdık
//onları sql sorgumuza aktarıyoruz
if ($satirsayisi!='1') {
for ($a=0;$a<$virgul;$a++) {
$sql.="".$satir[$a]." ," ;
}
$sql.="".$satir[$a]."" ;
} else {
$sql.="".$satir[1]."" ;
}
$sql.=") against ('+ ";
// sorguya giren arama kelimelerini sayısına göre
//onları sql sorgumuza aktarıyoruz
// kelimelerin başına +,- gibi belirteçleri koymak isterseniz gerekli bölüme ekleyebilirsiniz.
for ($i=0;$i<$qsayisi;$i++) {
$sql.="".$q[$i]." ";
}
$sql.="' in boolean mode)";
$query=mysql_query($sql);
while ($sq=mysql_fetch_assoc($query)) {
echo $sq['id']."<br>";
echo "<b>".@$sq['kat']."</b><br>";
echo "<b>".@$sq['urunadi']."</b><br>";
echo substr(strip_tags($sq['aciklama']),0,150)."...<br>";
}
}
arama($q,"ekategori","kat+aciklama");
?>
Full txt search ile ilgili bir fonksiyon işinize yarayabilir
0
●328