PHP Mysql Arama Sonuçlarını Listeleme Sayfası Oluşturma. Mysql Arama

Php programla dilinde mysql veritabanınız içindeki verileri arama yaptırıp listelemek isteyebilirsiniz. Aşağıdaki kod kümesini arama.php içine yapıştırın ve veritabanınız ile bağlantısını sağlayıp alanları kendi mysql yapınıza göre düzeltin. Sorunsuz şekilde çalıştığını ve aramalarınızı listelediğini göreceksiniz

 

 

 

 

 

 

 

PHP MYSQL ARAMA SAYFASI / arama.php

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-9" />
<title>Untitled Document</title>
</head>
<body>
<form method="post" action="arama.php">
<input type="text" name="search" size="25" maxlength="25" />
<input type="Submit" name="Submit" value="Submit" />
</form>
<?php
mysql_connect("localhost","kullanici adi","sifre");
mysql_select_db("veri_tabani_adi");
$search=$_POST["search"];
$result = mysql_query("SELECT * FROM makaleler WHERE makale LIKE '%$search%'");
$bulunan=0;
while($r=mysql_fetch_array($result))
{
$bulunan++;
$makale=$r["makale"];
$id=$r["id"];
$url=$r["url"];
echo "$id -> $makale      ";
echo '<a href="'.$url.'">"'.$url.'"</a><br>';
}
if ($bulunan==0){echo "Hiç kayit bulunamadi.";} else {echo $bulunan." makale bulundu";}
?>
</body>
</html>

 



30 yorum

  • Yorumunuz en az 30 karakter olmalıdır. (0)
    Tüm Yorumlar
    • oner 16.05.2016 17:40

      bana kafayı yedirtiyor yardımcı olabilen varmı sebebini bir türlü anlayamadım çıktısında "Eşleşen Kayıt Yok" diyor bu nasıl olur anlamadım gitti. Böyle bişey yokkkk.

      	<?php
      	if ($_POST) {
      	    $ara = $_POST["ara"];
      	    $sorgu = mysql_query("select * from duraklar where ogrenci like '%$ara%' OR ogrenci_adi like '%$ara%' OR ogrenci_soyadi like '%$ara%'");
      	    if (empty($ara)) {
      	        echo "Arama alanını boş bıraktın";
      	    } else {
      	        if (mysql_num_rows($sorgu) > 0) {
      	            echo "Arama ";
      	            while ($kayit = mysql_fetch_array($sorgu)) {
      	                $link = $kayit["link"];
      	                echo "<table width='100%' border='0' cellspacing='0' cellpadding='0'>";
      	                echo "<tr>";
      	                echo "<td width='150' height='30' align='left' align='center'><font size='4'><a href='$link' target='_blank'>", $kayit["ogrenci_adi"], "</font></a></td>";
      	                echo "<td width='150' height='30' align='right'><font size='4'><a href='$link' target='_blank'>", $kayit["ogrenci_soyadi"], "</font></a></td>";
      	                echo "</tr>";
      	                echo "</table>";
      	            }
      	        } else {
      	            echo 'Eşleşen Kayıt Yok.';
      	        }
      	    }
      	}
      	?>
      

      Yanıtla

    • Sami Selçuk 15.09.2014 12:49

      Merhaba arkadaşlar php ye yeni başlayanlardanım,ara,listeleme,sayfa sıralaması listelenen öğeyi düzenleme ile ilgili konuların mantığını anlamaya çalışıyorum,farklı örnekler buldum ama hepsini birleştirip tek bir sayfada olmasını istiyorum,benzer kod örneği mevcutmu,yada ne yapmalıyım

      Yanıtla

    • Master 03.11.2013 23:55

      @ Ertugg:

      İleri seviye bir konu, PHP'nin preg_replace fonksiyonunu kullanmanız gerekecek.

      <?php
      $renkli_kelime = 'elma';
      $icerik = 'elma armut kel mahmut elma armut';
      echo preg_replace("#" . $renkli_kelime . "#", '<span style="color: #FF0000">\0</span>', "$icerik");  
      ?>
      

      Alttaki arama sayfasındaki örnekler işinizi görecektir.

      mysql highlight search results

      Yanıtla

    • Ertugg 31.10.2013 19:20

      @ Master:


      yöneticim, son bir soru daha soracağım izninizle.. mesela site içinde elma kelimesini arama yaptırıyorum, fakat bana elma sözünün geçtiği onlarca sonuç geliyor, mesela bu sonuçların içinde ki sadece elma kelimesini kırmızı ya da mavi renk ile nasıl sayfaya yazdırabilirim. eğer bilginiz dahilindeyse yanıtlarsanız çok sevinirim. saygılar..

      Yanıtla

    • Master 31.10.2013 08:55

      @ Ertugg:


      Evet örnekteki, makale, id, url sütunları örnek sql sütunlarıdır. Buraları kendi sütunlarınıza göre düzenlemelisiniz.

      Yanıtla

    • Ertugg 31.10.2013 00:18

      @ Master:


      $bulunan++;
      $makale=$r["makale"];
      $id=$r["id"];
      $url=$r["url"];
      echo "$id -> $makale      ";

       

      buradaki makale yazan yerleride mi değiştireceğim yöneticim. teşekkürler..

      Yanıtla

    • Master 29.10.2013 22:47

      @ Ertugg:


      $result = mysql_query("SELECT * FROM makaleler WHERE makale LIKE '%$search%'");

       

      kısmını kendi sql veritabanınıza göre düzenlemeniz gerekiyor...

      Yanıtla

    • Ertugg 29.10.2013 14:57

      Arkadaşlar konu eski ama yine de özellikle bu işin üstadı olmuş admin arkadaşlardan yardım bekliyorum.... bu php sayfasında database kullanıcı adı ve şifre bölümlerini kendime göre düzenledim fakat diğer düzenlemem bölümler neresi ve ne yazacağım teşekkürler..

       

      <html>
      <head>
      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-9" />
      <title>Untitled Document</title>
      </head>
      <body>
      <form method="post" action="arama.php">
      <input type="text" name="search" size="25" maxlength="25" />
      <input type="Submit" name="Submit" value="Submit" />
      </form>
      <?php
      mysql_connect("localhost","ert012_s454623a","5623158956");
      mysql_select_db("ert012_s454623");
      $search=$_POST["search"];
      $result = mysql_query("SELECT * FROM makaleler WHERE makale LIKE '%$search%'");
      $bulunan=0;
      while($r=mysql_fetch_array($result))
      {
      $bulunan++;
      $makale=$r["makale"];
      $id=$r["id"];
      $url=$r["url"];
      echo "$id -> $makale      ";
      echo '<a href="'.$url.'">"'.$url.'"</a><br>';
      }
      if ($bulunan==0){echo "Hiç kayit bulunamadi.";} else {echo $bulunan." makale bulundu";}
      ?>
      </body>
      </html>

       

       

      Yanıtla

    • erdem 29.11.2012 23:15

      $aranan = $_POST['aranan'];
      $kategoriler= $_POST['kategoriler'];

      $makale = mysql_query("select*from makaleler where makale_basligi like'%$aranan%' or kategoriler like'%$kategoriler%'");

       

       

      şeklinde değiştir.

      Yanıtla

    • meldem1825 03.11.2012 12:09

      hocam kolay gelsin

      arama.php
      <form action="sonuc.php" method="POST">
          <select name="kategoriler">
              <option value="makaleler">makaleler</option>
              <option value="Çantalar">Çantalar</option>
              <option value="Bilgisayarlar">Bilgisayarlar</option>
              
          </select>
          <input type="text" name="aranan" />
          <input type="submit" value="Ara " />
      </form>

      sonuc.php
      <?php
      $aranan = $_POST['aranan'];
      $makale = mysql_query("select*from makaleler where makale_basligi like'%$aranan%'");

      while($bul = mysql_fetch_array($makale)){           
      $makale_basligi = $bul['makale_basligi'];
      echo"<b>$makale_basligi";
      }
      ?>


      option value devre dışı sadece yazılı alandan arama yapılıyo bunu nasıl devreye sokabilirim şimdiden teşekkürler hocam....

      Yanıtla

    • metrocityturkey 04.10.2012 22:17

      selam arkadaşlar ,konu hakkında bilgisi olanlardan yardım bekliyorum.web sitem var.web sayfamın url adresi.WWW.METROCİTYTURKEY.COM alan adlı sitemde web siteside birçok  değişik şekilde arama sonuçlarını listelenebiliniyor.ornek vermek gerekirse anasaydasa satılıklar sekmesinin ardından konut sekmesine bastıgımızda toplam 99 adet kayıt bulunmuştur diyor ve 99i lan 3 sayfa olarak sıralananıyor.Sıralama sekmesininin orda fiyat sekmesine basınca bulunan 99 ilan komple sıralanmıyor.her saydada fiyat suzgeçine tekrar tekrar basınca ancak o zaman sıralanıyor.Benim istediğim fiyat suzgeçine basınca tum ilanlar sıralansın.bu konuda bana yardımcı olabilecek arkadaşlardan yardım bekliyorum.herkeze iyi akşamalar.

      Yanıtla

    • eca bayii 09.06.2012 09:55

      her bir satırı renkli gösteremezmiyiz mesela ilk satırın arka planı gri ikinci satır beyaz gri-beyaz şeklinde nasıl ilerletebilirim okuma kolaylığı açısından soruyorum.

      Yanıtla

    • Burak 25.05.2012 22:21

      merhaba bi arama listeleme kodu yazdım ama kodda array hatası alıyorum bi yardımcı olurmusunuz bir türlü sorunu çözemedim

       

      <div id="panel_cerceve">
      <div id="sayfa_ara">
        <form id="form1" name="form1" method="post" action="">
        <div id="ara_baslik">Sayfa Ara</div>
        <div id="ara_form">
       <table width="100%" border="1">
        <tr>
          <td width="39%"><p class="ara_form_adi">İndex No:</p></td>
          <td width="61%"><label for="idno"></label>
            <input type="text" name="idno" id="idno" /></td>
        </tr>
        <tr>
          <td><p class="ara_form_adi">Sayfa Adı:</p></td>
          <td><input type="text" name="sayfa_konum" id="sayfa_konum" /></td>
        </tr>
        <tr>
          <td><p class="ara_form_adi">Konum:</p></td>
          <td><label for="sayfa_konum"><span class="not_kutu">
            <select name="konum" id="select">
              <option value="main" selected="selected">-- Ana Menü --</option>
              <option>Konum Bilinmiyor</option>
                    <?
        $calistira = mysql_query("select * from sayfa order by idno") or die("Hata Olustu!");
        while($listem=mysql_fetch_assoc($calistira))
      {if ($listem['sayfa_konum']=="main"){echo "<option value='".$listem['idno']."'>".$listem['adi']."</option>";};}  ?>
         
              
            </select>
          </span></label></td>
        </tr>
        <tr>
          <td>&nbsp;</td>
          <td><input type="submit" name="ara" id="ara" value="Ara" /></td>
        </tr>
      </table>
      
        </div>
        </form>
      </div>
      <div id="sayfa_listele">
       <table  border="1" id="liste_tablo">
          <tr>
            <th width="51" align="center" id="liste_ad" scope="col">İndex No</th>
            <th width="57" align="center" id="liste_ad" scope="col">Pozisyon No</th>
            <th width="94" align="center" id="liste_ad" scope="col">Konum</th>
            <th width="119" align="center" id="liste_ad" scope="col">Sayfa Adı</th>
            <th width="46" align="center" id="liste_ad" scope="col">Resim Slayt</th>
            <th width="50" align="center" id="liste_ad" scope="col">Resim Galeri</th>
            <th width="31" align="center" id="liste_ad" scope="col">Excel</th>
            <th width="42" align="center" id="liste_ad" scope="col">P.Point</th>
            <th width="17" align="center" id="liste_ad" scope="col">Pdf</th>
            <th width="44" align="center" id="liste_ad" scope="col">Değiştir</th>
            <th width="13" align="center" id="liste_ad" scope="col">Sil</th>
            </tr>
            <? 
      		$ara_idno=$_GET[idno];
      		$ara_adi=$_GET[adi];
      		$ara_konum=$_GET[konum];
      if ($_POST[ara])
      
      {
      	 
      $calistir=("select * from sayfa where idno like '%".$ara_idno."%' and adi like '%".$ara_adi."%' and sayfa_konum like '%".$ara_konum."%'")or die("Hata oluştu..."); 
      	}
      	else{
      		$calistir = mysql_query("select * from sayfa order by idno") or die("Hata Olustu!");
      		}
      		
      
       
        while($liste=mysql_fetch_assoc($calistir))
      {
      	echo " <form action='sayfa_ekle.php' method='post' name='".$liste['idno']."'><tr>
            <td align='center'>".$liste['idno']."<input type='hidden' value='".$liste['idno']."' name='idno' >&nbsp;</td>
            <td align='center'>".$liste['sayfa_no']."&nbsp;</td>
            <td align='center'>".$liste['sayfa_konum']."&nbsp;</td>
            <td align='center'>".$liste['adi']."&nbsp;</td>
            <td align='center'><img src='panel_image/icon/".boolString($liste['ekle_resim_slayt']).".png' alt='Durum' width='16' height='16' border='0' />&nbsp;</td>
      	  <td align='center'><img src='panel_image/icon/".boolString($liste['ekle_resim_galeri']).".png' alt='Durum' width='16' height='16' border='0' />&nbsp;</td>
      	  <td align='center'><img src='panel_image/icon/".boolString($liste['ekle_excel']).".png' alt='Durum' width='16' height='16' border='0' />&nbsp;</td>
      	  <td align='center'><img src='panel_image/icon/".boolString($liste['ekle_point']).".png' alt='Durum' width='16' height='16' border='0' />&nbsp;</td>
      	  <td align='center'><img src='panel_image/icon/".boolString($liste['ekle_pdf']).".png' alt='Durum' width='16' height='16' border='0' />&nbsp;</td>
      	  <td align='center'><input type='submit' name='degistir' id='degistir' value='Değiştir' /></td>
            <td align='center'><input type='submit' name='sil' id='sil' value='Sil' onclick=\"return confirm('".$liste['adi']." Adlı Sayfayı silmek istediğinize emin misiniz?')\"/></td>
            </tr></form>";} ?>
        </table>
      </div>
      
      </div>

      Yanıtla

    • bedelideniz 26.04.2012 18:38

      Çok teşekkür ederim admin. Yaşa VaRoL =)

      Yanıtla

    • Master 25.04.2012 13:55

      @ bedelideniz:

      Bunu deneyin;

      <?php 
      mysql_connect("xx.xxx.xxx.xx","snnn","123123");
      mysql_select_db("sonuclar_fb");
      error_reporting(E_ALL & ~E_NOTICE);
      ini_set('error_reporting', E_ALL & ~E_NOTICE);
      
      $search=$_POST["search"];
      $result = mysql_query("SELECT * FROM orgenciler WHERE kimlik_id LIKE '$search'");
      $bulunan=0;
      
      echo '<table width="100%" border="0" cellpadding="0" style="border-collapse: collapse">
      	<tr>
      		<td>Sütun Başlık 1</td>
      		<td>Sütun Başlık 1</td>
      		<td>Sütun Başlık 1</td>
      		<td>Sütun Başlık 1</td>
      		<td>Sütun Başlık 1</td>
      		<td>Sütun Başlık 1</td>
      	</tr>';
          while($r=mysql_fetch_array($result)) {
              $bulunan++;
              $kimlik_id=$r["kimlik_id"];
              $adi=$r["ogrenci_adi"];
              $soyadi=$r["ogrenci_soyadi"];
              //echo "$kimlik_id -> $adi $soyadi    ";
              echo"<tr>
              <td>$kimlik_id</td>
      		<td>$adi</td>
      		<td>$soyadi</td>
      		<td>$soyadi</td>
      		<td>$soyadi</td>
      		<td>$soyadi</td>
              </tr>";
          }
      if ($bulunan==0){echo "Hiç kayit bulunamadi.";}
      echo '</table>';
      ?>

      Yanıtla

    • bedelideniz 24.04.2012 22:46

      Arkadaşlar öncelikle herkese Selamün Aleyküm. Umarım konuyu doğru yere açmışımdır.

      PHP Konusunda çok yeni olmasamda sürekli kurcalayarak birşeyler öğrenmeye çalışıyorum.

      Elimde bulunan bir mysql sorgusunu tablo içinde yazdırmak istiyorum. Yani Kişi T.C. Kimlik Numarasını yazdığı zaman çıkan sonuçlar 1 satır ve 6-7 sütun tablo halinde gözükmesini istiyorum. Kodu aşağıda paylaşıyorum yardımcı olursanız sevinirim.
       

       

      mysql_connect("xx.xxx.xxx.xx","snnn","123123");
      mysql_select_db("sonuclar_fb");
      error_reporting(E_ALL & ~E_NOTICE);
      ini_set('error_reporting', E_ALL & ~E_NOTICE);  
      $search=$_POST["search"];
      $result = mysql_query("SELECT * FROM orgenciler WHERE kimlik_id LIKE '$search'");
      $bulunan=0;
      while($r=mysql_fetch_array($result))
       {
      $bulunan++;
      $kimlik_id=$r["kimlik_id"];
      $adi=$r["ogrenci_adi"];
      $soyadi=$r["ogrenci_soyadi"];
      
      echo "$kimlik_id -> $adi $soyadi    ";
      
      }
      if ($bulunan==0){echo "Hiç kayit bulunamadi.";}
      ?>

      Yanıtla

    • Master 25.11.2011 10:53
      <?php
      $bilgiler = $_POST['bilgiler'];
      $search = $_POST["search"];
      $result = mysql_query("SELECT * FROM kullanici WHERE $bilgiler LIKE '%$search%'");
      if (mysql_num_rows($result) > 0) { // Arama sonucunda bir şeyler bulundu.
      while($r=mysql_fetch_array($result)){
      echo 'Bulunan kayıtlar;<br />';
      echo 'Adı: '.$r["ad_soyad"] .'<br />Numara: '. $r["numara"]. '<br />URL: '.$r["url"];
      }
      }else { // hiç kayıt bulunamadı...
      echo 'Aradığınız kayıt bulunamadı. <br /> Aranan kelime;'.$search;
      }
      ?>
      Sizin kodlarınızda ekrana bastırma kısmı döngü dışında kaldığı için değişkene atanan son bir değeri ekranda görüyordunuz. Yazdığım kodlarda ekrana yadırma işlermini döngü içine aldım. Bu şekilde istediğiniz sonucu almanız gerekiyor.

      Yanıtla

    • gülçin 25.11.2011 09:37

      arama

      kategori seçiniz
      ad/soyad
      telefon
      mail

      <?php
      $bilgiler=$_POST['bilgiler'];
      $search=$_POST["search"];
      $result = mysql_query("SELECT * FROM kullanici WHERE $bilgiler LIKE '%$search%'");
      $bulunan=0;
      while($r=mysql_fetch_array($result))
      {$bulunan++;
      $ad_soyad=$r["ad_soyad"];
      $numara=$r["numara"];
      $url=$r["url"];
      }
      if ($bulunan==0){echo “Hiç kayit bulunamadi.”;} else {echo $bulunan.” kayit bulundu:”; echo $ad_soyad;}
      ?>

      Yanıtla

    • Master 24.11.2011 18:43
      Mysql sorgunuzda LIMIT kullanmadıysanız ve sonucuda while gibi bir döngü ile ekrana bastırıyorsanız tüm kayıtları listelemesi lazım. Durum böyleyse arama - kayıt uyuşması 1 tane olduğu için 1 kayıt listeliyordur. Kodlarınızı buraya ekleyin inceleyelim.

      Yanıtla

    • gülçin 24.11.2011 15:00
      @ Admin: Admin yazmış:
      Gülçin hanım yapmak istediğiniz tam olarak nedir?
      şimdi ben arama yapmak istiyorum combobox da listeledim 3 tane tablom var ad/soyad,telefon mail şeklinde bunlardan örnek olarak ad/soyad seçicem içinde mesela n harfi geçicek şartıyla arama yapıyorum cıktı olarak 2 tane kayıt bulundu dıyor ama sadece bir tane kayıt gösteriyor ekranda kodlar şu şekilde: arama kategori seçiniz ad/soyad telefon mail

      Yanıtla

    • Master 24.11.2011 14:25
      Gülçin hanım yapmak istediğiniz tam olarak nedir?

      Yanıtla

    • gülçin 24.11.2011 10:49
      ben de aynı seyı ıstıyorum ne yapmalıyız ersin yazmış:
      bn de yaptım ama bn sadece onu bulası degıl buldugun seyın hepsını lıstelemesını ıstıom lıstelerken $id le $ makeleri degıl $ad $soyad gıbı

      Yanıtla

    • Master 23.10.2011 20:06
      @ ercan: . Ercan bey, alt satırdaki search değişkenin önündeki ve sonundaki % işaretlerini kaldırıp deneyin. .
      $result = mysql_query("SELECT * FROM uyeler WHERE adi LIKE '$search'");

      Yanıtla

    • ercan 17.10.2011 09:29
      $search=$_POST["search"];
      $result = mysql_query("SELECT * FROM uyeler WHERE adi LIKE '%$search%'");
      $bulunan=0;
      while($r=mysql_fetch_array($result))
      {
      $bulunan++;
      $adi=$r["adi"];
      $soyadi=$r["soyadi"];
      $uyeadi=$r["uyeadi"];
      $eposta=$r["eposta"];
      $tarih=$r["dogumtarihi"];
      $dershane=$r["dershane"];
      $sehir=$r["sehir"];
      echo "Adı Soyadı :$adi $soyadi     ";
      echo "Kullanıcı Adı    : $uyeadi    ";
      echo "E-Mail Adresi    : $eposta    ";
      echo "Dogum Tarihi    : $tarih    ";
      echo "Dershane    : $dershane    ";
      echo "Sehir    : $sehir    ";
      }
      if ($bulunan==0){echo "Hiç kayit bulunamadi.";} else {echo $bulunan." uye bulundu";}
      ?>
      hepsini listeliyor orun nerede bulamadım yardım

      Yanıtla

    • Master 13.10.2011 08:41
      @ sgoksahan: Sorgunuzda hata göremedim. Sanırım sonuçları listeleme aşamasında problem var. Listeleme kodunuzun tamamını yazar mısınız?

      Yanıtla

    • sgoksahan 12.10.2011 19:17
      Arkadaşlar bu kodda kendi yapmaya çalıştığım bir uygulamada sorun var. olay şu; sorgula.html isimli bir sorgulama sayfam var. bu sayfada sadece tablomdaki int veri türüne türünde belgeno isimli kolonu arama yaptırmak istiyorum..aşağıdaki şekilde yazdığım zaman tüm kayıtları getiriyor.. yardım ederseniz sevinirimm...
      $aranan=$_POST["belgeno"];
      $result = mysql_query("SELECT * FROM kayitlar WHERE belgeno like '%$aranan%'");

      Yanıtla

    • ibrahim 04.09.2011 00:39
      güzel paylaşım

      Yanıtla

    • ersin 01.05.2011 23:41
      bn de yaptım ama bn sadece onu bulası degıl buldugun seyın hepsını lıstelemesını ıstıom lıstelerken $id le $ makeleri degıl $ad $soyad gıbı

      Yanıtla

    • Çetin 30.10.2010 04:27
      Aşağıda yazdığım fonksiyonla bunu kolaylıkla yapabilirsiniz: [code] function kalin_yap($aranan,$sorgu){ $sonuc= str_replace($aranan,"".$ranan."",$sorgu); return $sonuc; } [/code] kullanımı: kalinyap($aranan,$sorgu);

      Yanıtla

    • özgür 07.05.2010 16:52
      Herşeyi hallettim sorunsuz çalışıyor fakat yapmak istediğim arama yapılan kelimenin sonuç sayfasında renkli yada kalın göstermek istiyorum bunu nasıl yapabilirim nasıl renklendirebilirim teşekkürler

      Yanıtla