• 22-04-2013, 14:45:24
    #1
    selamlar;
    bir tablo içeren bir veritabanım var ve burada arama yapmak istiyorum
    ara.php diye bir sayfa oluşturdum ve formu hazırladım input box alanın adı aranan ve gonder butonu ile aramaaksiyon.php isimli sayfaya sorguyu gonderiyor.

    aramaaksiyon.php sayfasında;
    oncelikle
    db baglantısı yapmam ve formdan gelen aranan değerini bir değişkene atamam gerekiyor ancak sonrası konusunda yardıma ihtiyacım var.

    veritabanı adı : vta
    tablo adı : vttablo
    arama sütünu : tag

    şeklindeki bir yapıda arama işlemini nasıl gerçekleştireceğim.

    saygılar
  • 22-04-2013, 17:26:08
    #2
    Misafir
    normal sorgu yapıcaksın tek fark sorgunda lıke kullanıcakasın

    ornek :

    SELECT isim, yas, email FROM tablom WHERE isim LIKE "%a%";

    gıbı
  • 27-04-2013, 17:22:13
    #3
    kodlar şu şekilde ama sanırım bir yerde hata var

    <?php
    
    @$arama=$_POST['aranan']; //arama değişkenini post ile aldık.
    
    if($arama==""){ //eğer arama boşsa...
    
    header("Location:index.php"); //index.html'ye yönlendirsin.
    
    } else { //boş değilse...
    
    $bul=mysql_query("SELECT * FROM  vtatablo WHERE tag LIKE '%$arama%'"); //bul değişkeni ile veritabanında girilen değer var mı diye kontrol ettiriyoruz..
    while($getir=mysql_fetch_array($bul)){ //veritabanından verilerimizi while içinde alıyoruz.
    $kelime=$getir['arama']; //kelimeyi aldık.
     
    echo("$kelime"); //yazdırdık...
    
    }
    
    }
    
    ?>
    bazen boş sayfa geliyor bazen Notice: Undefined index: arama in C:\xampp\htdocs\resmim\araact.php on line 14 hatası alıyorum.
    hata nerede acaba?

    saygılar
  • 27-04-2013, 17:28:25
    #4
    sayfanın başına error_reporting(0); kodu ekleyerek hata göstermesini engelleyebilirsiniz. eğer bazen hata verip bazen çalışıyosa muhtemelen aranan kelimede sorun vardır.
  • 27-04-2013, 17:29:22
    #5
    hatayı buldum arama çalışıyor gibi en azından aradığım kelimeyi ekrana getirdi. peki veritabanında o kelimenin bulunduğu tüm satırı göstermek için ne yapmam lazım acaba?

    selamlar
  • 27-04-2013, 17:33:54
    #6
    $kelime=$getir['arama']; değişkeninin oraya $degişken ismi = $getir['çekilecek sütun ismi']; şeklinde değişken ekleyerek echo komutu ile yazdırabilirsiniz.
  • 28-04-2013, 00:43:41
    #7
    hissizadam adlı üyeden alıntı: mesajı görüntüle
    kodlar şu şekilde ama sanırım bir yerde hata var

    <?php
    
    @$arama=$_POST['aranan']; //arama değişkenini post ile aldık.
    
    if($arama==""){ //eğer arama boşsa...
    
    header("Location:index.php"); //index.html'ye yönlendirsin.
    
    } else { //boş değilse...
    
    $bul=mysql_query("SELECT * FROM  vtatablo WHERE tag LIKE '%$arama%'"); //bul değişkeni ile veritabanında girilen değer var mı diye kontrol ettiriyoruz..
    while($getir=mysql_fetch_array($bul)){ //veritabanından verilerimizi while içinde alıyoruz.
    $kelime=$getir['arama']; //kelimeyi aldık.
     
    echo("$kelime"); //yazdırdık...
    
    }
    
    }
    
    ?>
    bazen boş sayfa geliyor bazen Notice: Undefined index: arama in C:\xampp\htdocs\resmim\araact.php on line 14 hatası alıyorum.
    hata nerede acaba?

    saygılar
    kodu şu şekilde düzenleyin gelen her satırdaki alanları görebilirsiniz.
    asosyatif array olarak gelecek.
    her satırda $getir['sütun adi'] şeklinde ulaşabilirsiniz verilere.


    $arama= mysql_real_escape_string(htmlentities($_POST['aranan'],ENT_QUOTES)); //arama değişkenini post ile aldık.
    
    if(empty($arama)){ //eğer arama boşsa...
    
    header("Location:index.php"); //index.html'ye yönlendirsin.
    die();
    } 
    
    $bul=mysql_query("SELECT * FROM  vtatablo WHERE tag LIKE '%$arama%'"); //bul değişkeni ile veritabanında girilen değer var mı diye kontrol ettiriyoruz..
    if(mysql_num_rows($bul) > 0){
    while($getir=mysql_fetch_assoc($bul)){ 
    echo '<pre>';
    print_r($getir); //kelimeyi yazdırdık.
    echo '</pre>';
    }
    }else{
    echo 'hiç kayıt bulunamadı.';
    }
  • 28-04-2013, 00:59:38
    #8
    Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\resmim\araact.php on line 10
    hiç kayıt bulunamadı.
    hatası alıyorum. neden olabilir. eski aramada kayıt cıkıyordu.
  • 28-04-2013, 01:02:51
    #9
    hissizadam adlı üyeden alıntı: mesajı görüntüle
    Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\resmim\araact.php on line 10
    hiç kayıt bulunamadı.
    hatası alıyorum. neden olabilir. eski aramada kayıt cıkıyordu.
    tablo adı vttablo yoksa vtatablo mu?