Kişi arama motoru

SuperSuper
08-06-2012, 02:58   |  #1  
OP Taze Üye
Teşekkür Sayısı: 0
3 mesaj
Kayıt Tarihi:Kayıt: Nis 2012

Merhaba ben sitem için kişi yada üye arama moturu yapmak istiyorum kod bilgim mevcut ama arama moturu mantığını çözemedim şöyle bir kod yazdım ama bu direk üyenin sayfa linkini veriyo ben aynı isimdeki diğer üyelerinde sayfa linklerini vermesini istiyorum mesala adam ahmet veli arıyo diyelim arama motoru bana ahmet velinin sayfa linkini ve ahmet adındaki tüm üyelerin linkini vede veli soyadındaki tüm üyelerin linkini versin istiyorum lütfen yardım edin.

<?php

session_start();

include("vt.php");

$arama= trim($_POST["arama"]);

error_reporting(0);

if($arama == ""){

echo"arama boş";

exit;

}

if (ereg('@',$arama)){

$sorgu= mysql_query('select * from uyeler where uye_email="'.$arama.'"');

$say= mysql_fetch_array($sorgu);

if($say>0){

echo 'uye link = <a href="profile.php?go=profile&id='.$say["uye_id"].'" title="Profile" >'.$say["uyeadi"].' '.$say["uyesoyadi"].'</a>';

}else{

echo"bulunamadı";

}

exit;

}

if (!ereg('@',$arama)){

$degisken=explode("-",$arama);

$ad= $degisken[0];

$soyad= $degisken[1];

$sorgu= mysql_query('select * from uyeler where uyeadi="'.$ad.'" && uyesoyadi="'.$soyad.'"');

$say= mysql_fetch_array($sorgu);

$sorgu2= mysql_query('select * from uyeler where uyesoyadi="'.$soyad.'"');

$say2= mysql_fetch_array($sorgu2);

if($say && $say2 >0){

echo 'uye link = <a href="profile.php?go=profile&id='.$say["uye_id"].'" title="Profile" >'.$say["uyeadi"].' '.$say["uyesoyadi"].'</a><br>';

echo 'uye link = <a href="profile.php?go=profile&id='.$say2["uye_id"].'" title="Profile" >'.$say2["uyeadi"].' '.$say2["uyesoyadi"].'</a>';

}else{

echo"bulunamadı";

}

}

?>

slckym
23-06-2012, 11:48   |  #2  
slckym avatarı
Yeni Üye
Teşekkür Sayısı: 0
36 mesaj
Kayıt Tarihi:Kayıt: May 2010

Arkadaşım ahmet veli yazdığında

Örnek olarak;
<?php
$aranacak_kelime=explode(" ","ahmet veli");
$miktar = count($aranacak_kelime);
echo $miktar;

for($i=0;$i<$miktar;$i++){
$sorgu = mysql_query('select * from uyeler where uye_email="%'.$aranacak_kelime[$i].'"%');
$say = mysql_num_rows($sorgu);
while($oku=mysql_fetch_assoc($sorgu)){

echo 'uye link = <a href="profile.php?go=profile&id='.$oku["uye_id"].'" title="Profile" >'.$oku["uyeadi"].' '.$oku["uyesoyadi"].'</a>';
}
}
?>

yazım hatası olabilir ama genel olarak anladığım kadarıyla mantığı bu. SQL sorgusunda arayacağın kriteri %% arasına yerleştirirsen içerisinde arayacağın kelime olan tüm değerleri alır.
Takıldığın yer olursa özel mesaj atabilrsin.