Linkedin Instagram Facebook Twitter Mail Youtube Whatsapp

PDO ile Site İçi Arama Motoru Yapımı

Php Dizileri Ayırma - Array_slice() Fonksiyonu
Php pdo ile site içi arama motoru yapımını kendin yaptığım bir blog sayfasından paylaşmak istiyorum. Kodladığım sitede arama input’una gelen değer boş ise direk anasayfaya yönlendiriyor  , diğer ihtimallerde ise yazılar adlı tablomda başlıkları filtreliyordum. Buraya gelen değeri bir sql sorgusundan geçirdikten sonra gelen değer ile verileri çekip listeliyordum. Şimdi öncelikle veritabanı vs. kodların var olduğunu varsayalım. Html Kodları
<form method="post" action="arama.php" id="searchform" class="search-form" _lpchecked="1">
<h3>Arama Motoru</h3>
<fieldset>

<input name="arama" Placeholder="Ne Aramıştınız?" type="text">
<input id="search-image" class="sbutton" src="images/search.png" style="border: 0px none; vertical-align: top;" type="image">
</fieldset>
</form>
Şimdi ise action kısmındaki arama.php sayfasının kodlamasını yapalım ve gelen değeri alıp işleyelim. Burada önemli olan bir komuttan bahsetmek istiyorum ki o da like komutudur. Bu komut sayesinde veritabanında arama yapabiliriz. Sağ ve soluna konan % işaretleri ise başta ve sonda başka karakterlerinde olabileceğini  gösterir. Arama.php sayfası
$gelen = $_POST["arama"];
if($gelen == null){
header("location:index.php");
}
$cek = $db->query("select * from yazilar where yazi_baslik like '%$gelen%' ",PDO::FETCH_ASSOC);
Bu kısımlar gerekli olan kısımlar… Kodların tamamını en sonda paylaşacağım. Burada yapılmak istenen çok açık. Bir input’a gelen değeri post ile alıyoruz. Ondan sonra yeni sayfamız olan arama.php de bu değeri ile bir sql sorgusu yazıyoruz. Gelen değişkenindeki değeri yazılar tablomdaki başlıklar ile eşleştiriyorum. Yani eğer böyle bir yazı başlığı var ise onu listele. Artık listeleme sizin tasarımınıza kalmış ama ben kendi kodlarımı paylaşmak istiyorum. ————————————HTML KODLARI———————————
<form method="post" action="arama.php" id="searchform" class="search-form" _lpchecked="1">
<h3>Arama Motoru</h3>
<fieldset>

<input name="arama" Placeholder="Ne Aramıştınız?" type="text">
<input id="search-image" class="sbutton" src="images/search.png" style="border: 0px none; vertical-align: top;" type="image">
</fieldset>
</form>
  ———————————– PHP KODLARI————————————–
<?php

$gelen = $_POST["arama"];
if($gelen == null){
header("location:index.php");
}
$cek = $db->query("select * from yazilar where yazi_baslik like '%$gelen%' ",PDO::FETCH_ASSOC);
if($cek->rowCount()){
foreach($cek as $kayit){
echo '
<div class="post excerpt ">
<header>
<div class="bubble"><a href="#">'.$kayit['yazi_hit'].'</a></div>
<h2 class="title">
<a href="detay.php?id='.$kayit['yazi_id'].'" rel="bookmark">'.$kayit['yazi_baslik'].'</a>
</h2>
<div class="post-info">
<br><br>
<time> <b>Okunma Sayısı :</b> '.$kayit['yazi_hit'].'</time>
<span class="thecategory"><a href="sayfa.php?al='.$kayit['yazi_kategori'].'"><b>Kategori :</b>'.$kayit["yazi_kategori"].' | </a></span>
</div>
</header><!--.header-->
<div class="post-content image-caption-format-1">
<a href="#" rel="nofollow" id="featured-thumbnail">
<div class="featured-thumbnail"><img src="admin/'.$kayit['yazi_resim'].'" class="oval" height="150px" width="150px"></div> </a>
<p>'.$kayit['yazi_icerik'].'</p>
<p class="more"><a href="detay.php?id='.$kayit["yazi_id"].'">Devamını Oku…</a>
</p>
</div>
';
}
}

?>
 

Bir Yorum Yaz