arama sonuçları

hasancakici

0
İyinet Üyesi
Katılım
21 Ocak 2008
Mesajlar
36
Reaction score
0
arkadaşlar benim proğram sitem var sitemde arama yapıldığında direk kelimeyi arıyor arama şekli şu şekilde
Kod:
    if (!$pid) $sql="Select* from program where (isim like '%$query%' or aciklama like '%$query%' or tags like '%$query%' or etiket like '%$query%') order by tarih desc
limit $alt,$max";
else $sql="Select * from program where (isim like '%$query%' or aciklama like '%$query%' or tags '%$query%' or etiket like '%$query%') and altkat = '$kid' order
by tarih desc limit $alt,$max";
if (!$pid) $sql2="Select* from program where (isim like '%$query%' or aciklama like '%$query%' or tags like '%$query%' or etiket like '%$query%')";
else $sql2="Select* from program where (isim like '%$query%' or aciklama like '%$query%' or tags like '%$query%' or etiket like '%$query%') and altkat = '$kid'";
$q=mysql_query($sql);
    $sql22=mysql_query($sql2);
    $nr2=mysql_num_rows($sql22);
echo mysql_error();
        
    if($nr2 == 0) {
başka arama sitelerinde baktım 1. kelime yoksa 2. kelimeyi de arıyor mesela hasan 2008 yazdım hasan yoksa 2008 yazanları arıyor
Program download | Roketdownload.com un araması gibi
nasıl yapabilirim

onun arama yapısı sanırım altaki gibi
Kod:
if($kategori == 0)
{
$dnm = mysql_query("SELECT *, MATCH(prog, fulldesc, etiket, url_down) AGAINST('$q') AS skor FROM progs WHERE MATCH(prog, fulldesc, etiket, url_down) AGAINST('$q') AND status=1 ORDER BY skor DESC limit $baslangic,$sayfada_gosterilecek_program_sayisi") or die(mysql_error());
$dnm2 = mysql_query("SELECT * FROM progs WHERE MATCH(prog, fulldesc, etiket, url_down) AGAINST('$q') AND status = 1");
}
else
{
$dnm = mysql_query("SELECT *, MATCH(prog, fulldesc, url_down) AGAINST('$q') AS skor FROM progs WHERE MATCH(prog, fulldesc, url_down) AGAINST('$q') AND status=1 AND catid='$kategori' ORDER BY skor DESC limit $baslangic,$sayfada_gosterilecek_program_sayisi") or die(mysql_error());
$dnm2 = mysql_query("SELECT * FROM progs WHERE MATCH(prog, fulldesc, url_down) AGAINST('$q') AND status=1 AND catid='$kategori'");
}

$sonuc = mysql_num_rows($dnm);
$program_sayisi = mysql_num_rows($dnm2);
echo(mysql_error());
 

webyazilim

0
İyinet Üyesi
Katılım
12 Haziran 2006
Mesajlar
1,511
Reaction score
0
Konum
Kayseri
her kelimeyi ayrı ayrı aratabilirsiniz zaten. SQL sorguları için Union sorgu yapmayı araştırın. Her kelimeyi boşluklardan bölüm bir sorgu ile aratın ve toplamdaki sorguda bütün sorguları birleştirin ve tekilleştirin ki aynı sonuçlar çıkmasın.
 

BordoMavi

0
İyinet Üyesi
Katılım
31 Ekim 2007
Mesajlar
176
Reaction score
0
Konum
Hirçın Sulardan
%$query% lerin yerine %$query koyarak denersen kontrol edeceğin yazıda o kelimeleri arar diye hatırlıyorum böyle bi dene istersen
 

werci

0
İyinet Üyesi
Katılım
9 Nisan 2005
Mesajlar
212
Reaction score
0
Aşağıdaki kodları kendi db'ine göre entegre etmen çok kolay olur 5dk'ni almayacağından eminim ;) searchdbs.php'de ekte. Aslında searchdbs.php'nin içinde başka şeylerde var ama uğraşıp kodları ayırt etmedim. searchdbs.php'nin içinde sadece db bilgilerini değiştirmen gerkicek o kadar ;)

PHP:
<?

include "searchdbs.php";  
$search = $_GET['search-q'];
$page = $_GET['p'];

$max=16;

if (!$page) $page=1;

$alt=($page - 1) * $max;



$q=mysql_query("Select * from Categories where (name LIKE '%$search%') order by id desc limit $alt,$max");

	$sql2=mysql_query("Select * from Categories where (name like '%$search%')");

	$nr2=mysql_num_rows($sql2);

	if($nr2 == 0) {

	 echo 'Sorry, no results were found';

	}	else	{

while ($r=mysql_fetch_array($q)) {

echo '<h5><a href=\''.$r[link].'\'>'.$r[name].'</a><br>
<br>';
?>
</h5>
<? } ?>



<?$page2= $site . "/search.php?search=" . $search;
$ana_baglanti = $page2;
$eleman_sayisi = $nr2;
$sayfa_basina = $max;
$aktif_sayfa = $page;
$ekmi = 0;
$sayfa_degiskeni = "&p=";

	echo "<div class=\"pagination\"></b>";
    // Bu fonksiyon calismak icin birdensuna() fonksiyonunu gerektirir 
    $sayfa_sayisi = ceil($eleman_sayisi/$sayfa_basina); 
    if ( $aktif_sayfa < 1 OR $aktif_sayfa > $sayfa_sayisi ) { $aktif_sayfa = 1; } 
    $sayfalar_araligi = ceil($sayfa_sayisi/10); // sayisi kucultuldukce baglanti sayisi azalir 
    $sayfalanacak = array(1,$sayfa_sayisi,birdensuna(($aktif_sayfa-20),$sayfa_sayisi) 
    ,birdensuna(($aktif_sayfa-15),$sayfa_sayisi),birdensuna(($aktif_sayfa-10),$sayfa_sayisi) 
    ,birdensuna(($aktif_sayfa-5),$sayfa_sayisi),birdensuna(($aktif_sayfa-2),$sayfa_sayisi) 
    ,birdensuna(($aktif_sayfa-1),$sayfa_sayisi),$aktif_sayfa 
    ,birdensuna(($aktif_sayfa+1),$sayfa_sayisi),birdensuna(($aktif_sayfa+2),$sayfa_sayisi) 
    ,birdensuna(($aktif_sayfa+5),$sayfa_sayisi),birdensuna(($aktif_sayfa+10),$sayfa_sayisi) 
    ,birdensuna(($aktif_sayfa+15),$sayfa_sayisi),birdensuna(($aktif_sayfa+20),$sayfa_sayisi)); 
    for ($i=$aktif_sayfa;$i>0;$i=$i-$sayfalar_araligi) { $sayfalanacak[] = $i; } 
    for ($i=$aktif_sayfa;$i<$sayfa_sayisi;$i=$i+$sayfalar_araligi) { $sayfalanacak[] = $i; } 
    $sayfalanacak = array_unique($sayfalanacak); 
    sort($sayfalanacak); 
    foreach ( $sayfalanacak as $sayfa_no ) { 
        if ( $sayfa_no == $aktif_sayfa ) { echo " [<span class=\"here\"><span>$sayfa_no</span></span>] "; } 
        else { 
            if ( $ekmi == 0 ) { echo "<a href=\"$ana_baglanti$sayfa_degiskeni$sayfa_no\">$sayfa_no</a> "; } 
          	 else { echo "<a href=\"$ana_baglanti&$sayfa_degiskeni$sayfa_no\">$sayfa_no</a> "; } 
}    }    
echo "<br></div>";
?>

<?}?>
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Backlink ve Tanıtım Yazısı için iletişime geçmek için Skype Adresimiz: .cid.1580508955483fe5

Elektronik Sigara
pubg mobile uc
Üst