Php'de Site İçi Arama Yapmak

Bu dersimizde php de basit bir şekilde site içinde nasıl arama yapılacağını göstereceğim.

Merhaba arkadaşlar,

Bu dersimizde php ile site içerisinde nasıl arama yapılacağını sizlere göstermeye çalışacağım.

Şimdi kodlarımıza geçiyoruz.

Veritabanı için gerekli tablomuz:

CREATE TABLE IF NOT EXISTS `duyurular` (
`id` int(11) NOT NULL,
  `duyuru` longtext,
  `konu` longtext,
  `resim` varchar(200) DEFAULT NULL
) ENGINE=InnoDB  DEFAULT CHARSET=latin5 AUTO_INCREMENT=40;

INSERT INTO `duyurular` (`id`, `duyuru`, `konu`, `resim`) VALUES
(35, 'Css3 Yenilikler', 'Cascading Style Sheets (Basamakli Stil Sablonlari ya da Basamakli Bicem Sayfalari, bilinen kisa adiyla CSS), Html''e ek olarak metin ve format bicimlendirme alaninda fazladan olanaklar sunan bir web teknolojisidir.rnrn', '787de.jpg'),
(36, 'Php6 ozellikler', 'rnCSS kodlari, HTML kodlarinin icine yazilabildigi gibi harici bir CSS dosyasi olusturularak da islem yaptirilabilir.', 'cb4cf.jpg'),
(39, 'Html5', 'Html5 html dilinin son surumudur.Internet Explorer,Mozilla Firefox,Operanin guncel surumleri tarafindan kismende olsa desteklenmektedir. rn', 'f5a32.jpg');

ALTER TABLE `duyurular`
ADD PRIMARY KEY (`id`);

 

Veritabanı baglantısı için gerekli kodlar(ayar.php):

<?php
  $host="localhost";
  $kullanici="root";
  $sifre="";
  $vt="ders";

  $baglanti=mysql_connect($host,$kullanici,$sifre) or die ("mysql bağlantı yapılamadı");
  mysql_select_db($vt,$baglanti) or die ("veritabanına bağlanamadı");

  mysql_query("SET COLLATION_CONNECTION = ´latin5_turkish_ci´ ");
  mysql_query("SET NAMES 'latin5'");
  mysql_query("SET CHARACTER SET latin5");
?>

 

Arama sayfamız için gerekli kodlarımız(index.html):

<form  name="form1" method="post" action="aranan.php" id="kayitform">
  <label>
  <br />
  <input type="text" name="aranan" id="aranan" />
  &nbsp;&nbsp;&nbsp;<br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  <input type="image" name="button" id="button"  src="Search.png" width="45" height="35"/>
</form>

 

Arama sonucunun görüntüleneceği sayfamız (aranan.php):

<?php
  include("ayar.php");
  $ara=$_POST["aranan"];
  echo " <img src='Search.png' width='55' height='50' /> &nbsp;&nbsp;<font color='gray' size='4'>Arama Sonuçları - '$ara'</font><br>";

  $sql=mysql_query("SELECT * FROM duyurular
  WHERE konu LIKE '%$ara%'");

  $bul = mysql_num_rows($sql);

  if($bul > 0) {
    while($yaz=mysql_fetch_array($sql)) {
      $id=$yaz['id'];
      $duyuru=$yaz['duyuru'];
      $konu=$yaz['konu'];
      $konu1=substr($konu,0,190);

      echo "<b><ol><li><a href="duyurular.php?islem=duyuru&id=$id">$duyuru</a><b></ol>";
      echo "$konu1...";
    }
  } else {
    echo "<br>";
    echo "<font color='gray' size='4'>Aradığınız kelime ile ilgili bir  sonuç bulunamadı</font>";
  }
?>

 

İçeriği görüntüleyeceğimiz sayfamız(duyurular.php):

<?php

include("ayar.php");
mysql_query("SET COLLATION_CONNECTION = ´latin5_turkish_ci´ ");

$id = intval($_GET["id"]);

$sor = mysql_query("select * from duyurular where id='$id'");

while($yaz=mysql_fetch_array($sor)){
  $id=$yaz['id'];
  $duyuru=$yaz['duyuru'];
  $konu=$yaz['konu'];
  $resim=$yaz['resim'];
  $yenisi = wordwrap($konu,40, "n", true);
?>

<p>
  <b><font color=#999933><?php echo $duyuru; ?></b></font><br>
  <img src="images/<?php echo $resim; ?>" width="320" height="190" />
  <br>
  <b><center><?php echo $yenisi; ?><b></center>
</p>

<?php
  }
?>

Bu dersimiz bu kadar herkese kolay gelsin.

İyi çalışmalar diliyorum.

Yorum Yaz

Yorum yazabilmek için üye girişi yapmanız gerekiyor!

duyurular kısmında hata veriyor bakıp geri dönermisiniz elinize sağlık
geri dönmemişsiniz hala yanlış nerde bulamadım teşekkürler şimdiden
arkadaşlar duyurular.php de 45. satırda hata vermesinin sebebi arkadaş her satırda açmadığı php tagını kapatmaya çalışıyor. kodları şu şekilde yazabilirsiniz: <?php include("ayar.php"); mysql_query("SET COLLATION_CONNECTION = ´latin5_turkish_ci´ "); $id=intval($_GET["id"]); $sor=mysql_query("select * from duyurular where id='$id'"); while($yaz=mysql_fetch_array($sor)){ $id=$yaz['id']; $duyuru=$yaz['duyuru']; $konu=$yaz['konu']; $resim=$yaz['resim']; $yenisi = wordwrap($konu,40, "\n", true); <p> echo "<b><font color=#999933>$duyuru</b></font><br>"; echo"<img src=\"images/$resim\" width=\"320\" height=\"190\" />"; echo "<br>"; echo "<b><center>$yenisi\n<b></center>"; </p> ?> ayrıca php sayfalarının sonunda ikişer tane php bitirme tagı konulmuş bunların birini sierseniz daha temiz bir çalışma olur

Yukarı Git