PCnet Online forumlarına katılmak için hesap açabilirsiniz.
  • Üye girişi:

PCnet Online forumlarına hoş geldiniz

+ Başlığa Yanıt Yaz
5 sonuçtan 1 - 5 arası sonuçlar
  1. #1

    Varsayılan PHP Arama Komutları Yardım!

    Merhaba,
    php aramada "ipek ipi tut" aramasında sadece "ipek" için sonuçları görmek istiyorum. Ama bütün kelimeler olmassa arama sıfır sonuç gösteriyor. Yani 3 kelime girdiğimde 1 kelime dahi bulsa göstersin istiyorum. Çok deneme yaptım ama beceremedim yardım edin lütfen kod aşağıda

    Kod:
     
    <?php
    include"sorgum.php";
    $sonuc=0;
    $toplamsayi=0;
    $haber="select * from makaleler where baslik LIKE '%".$kelime."%' OR icerik LIKE '%$kelime%'order by id DESC";
    $sorguhaber=mysql_query($haber);
    $habersayi=mysql_num_rows($sorguhaber);
    $toplamsayi=$habersayi;
    if($toplamsayi==0)
    {
    print"Tekrar Dene";
    }
    else
    {
    print"<tr><td style='background-color:#f4f4f4' height='20' colspan='2'><span class='icerik'><b>Toplam $toplamsayi sonuc buldum</b></span></td></tr>";
    if($habersayi>0)
    {
    while($oku=mysql_fetch_assoc($sorguhaber))
    {
    $oku[baslik]=stripslashes($oku[baslik]);
    include"duzenle.php";
    ?>
    En son blof tarafından düzenlenmiştir: 28.04.2011 19:20

  2. #2
    Forum Gurusu
    Katılım Tarihi
    2009
    Yer
    İstanbul
    Mesaj
    872

    Varsayılan

    Like ile bunu yapabilirsiniz ancak birçok fonksiyon derlemeniz gerekecektir. Veritabanınız kalabalık olduğunu varsayarsak sistemi çok yoracaktır. Daha derin arama için Like'ın gelişmiş hali olan REGEXP sorgusunu araştırın.
    Leon_
    Hiç birşey engel değil seni sevmeme sen bile, sensizlik bile!

  3. #3

    Varsayılan

    teşekkür ederim. Aslında yapmak istediğim farklıydı. Başlığı etiket gibi kullanmaya çalışmıştım. Şimdi makale tabanına yeni bir alan açıp etiket kaydettim ve sayfaya bunu çektim. Arama kutusuna yerleştirdim çok güzel çalışıyor. Fakat arama kutusu içinde değil de link olarak göstermek istiyorum. Aslında hiç proglamlamayla alakam yok o yüzden bu noktada yardımınızı isteyecem. arama kutusuna çektiğim veriyi link olarak gösterip mevcut sistemde nasıl aratırım?
    kod şu
    Kod:
    <form name="form1" method="post" action="arama.php" onsubmit="return aragonder()">
    <tr>
    
    <td align="center"><input name="ara" type="text" style="ara" size="8" value="<?php echo"$oku[etiket]"; ?>"/></td>
    <td align="left" ><input type="image" src="img/ara.gif" value="Gönder" name="gonder" />
    </td>
    </tr></form>
    sadece bu kısmı butonlu arama kutulu değil link olarak gösterip linke tıklandığında arama.php gitsin istiyorum.

  4. #4
    Forum Gurusu
    Katılım Tarihi
    2009
    Yer
    İstanbul
    Mesaj
    872

    Varsayılan

    Işlem aslında oldukça basit, örnekler ile size yardımcı olmaya çalışacağım, umarım işinizi görür.

    Son gönderdiğiniz mesajda bulunan kodu bu şekilde link yapabilirsiniz;
    PHP Kodu:
    /// Etiketi çekmek için kullanılmış bir sorgu olduğunu varsayıyorum

    <a href="arama.php?etiket=<?=$oku['etiket']?>"><?=$oku['etiket']?></a>
    Yukarıda yazdığım kod etiketlerin linklenmiş halidir. Ister while döngüsü ile etiket kutusuna yazdırın, ister çekilen veriye göre normal şekilde ekrana yazdırın. Mantık aynıdır.

    Şimdi gelelim arama.php de etiketi nasıl çekeceğimize.
    Etiketimizi link olarak göndereceğimiz için $_Get ile linkteki etiketi arama sorgumuza yerleştirelim. Bu işlem ile sanki arama kutusuna kelime yazılmış süsü vereceğiz.
    Kodların tam anlamıyla kullanılabilir halini yazmayacağım, sadece mantığı anlamanız için yazıyorum;

    PHP Kodu:
    $etiket=$_GET['etiket']; // Linkteki etiketi arama.php sayfasına çektik
    $leon=mysql_query("select * from makaleler where baslik LIKE '%".$etiket."%' or icerik LIKE '%".$etiket."%' and order by id");
    // arama sorgumuza linkten gelen kelimeyi yerlestirdik 
    $bulunan=mysql_num_rows($leon); // Sorguda kaç adet sonuç bulunduğunu gösterecek olan değişkenimiz

    // artık geriye kalan kısmı kendiniz doldurabilirsiniz. While döngüsü ile çıkan sonuçları yazdırın vs. vs. 
    Eğer etiket cümle halinde ise ve siz ilk mesajda belirttiğiniz gibi cümle içinde tek kelime dahi veritabanın da mevcut ise ekrana dökmek istiyorsanız, LIKE yerine Regexp kullanın.
    Kolay gelsin.
    Leon_
    Hiç birşey engel değil seni sevmeme sen bile, sensizlik bile!

  5. #5

    Varsayılan

    Vallaha oldu hocam çok saol Allah razı olsun senden.


 

Benzer Başlıklar

  1. Sağ tık komutları??
    erhanyilmaz61 tarafından Yazılım forumunda
    Yanıt: 4
    Son Mesaj: 08.10.2009, 21:24
  2. Yanıt: 1
    Son Mesaj: 16.04.2009, 18:59
  3. İRC Komutları.
    Nemesis_54 tarafından PCnet forumunda
    Yanıt: 5
    Son Mesaj: 18.08.2004, 22:38
  4. dos komutları
    aragorntheelessar tarafından Windows İpuçları forumunda
    Yanıt: 5
    Son Mesaj: 28.12.2003, 02:08
  5. MS-DOS komutları
    CoMeX tarafından Diğer uygulamalar forumunda
    Yanıt: 8
    Son Mesaj: 02.11.2003, 09:10