Php & Pdo & Ajax Search ile Anlık Arama Örnek Kodu

Database Html Javascript / Jquery Mysql Php Yazılım

Php & Pdo & Ajax Search ile Anlık Arama Örnek Kodu

Php Pdo Ajax Search

Daha siz arama kutucuğuna kelimenin baş harflerini yazarken sonuçlar sayfaya dökülsün ister misiniz? Aşağıdaki örnek te arama sonuçlarının ,arama yaptığımız sayfaya nasıl anlık olarak döküldüğünü göreceğiz.

index.html diye bir sayfa oluşturup aşağıdaki kodları içine döktürüyoruz.

<html>
<head>
<script> //Aramayı yaptıracak ajax kodumuz
function doSearch(str)
{  
     if (str.length == 0)
     {        
          document.getElementById("a").innerHTML = "";      
          return;  
     }
     else
     {      
          var xmlhttp = new XMLHttpRequest();      
          xmlhttp.onreadystatechange = function()
          {
                  if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
                  {              
                         document.getElementById("aramasonucu").innerHTML = xmlhttp.responseText;                      }      
       }      
       xmlhttp.open("GET", "ara.php?aranan=" + str, true);      
       xmlhttp.send();  
     }
}
</script>
</head>
<body>
<center>
<form>
          Aranan Kelime: <input type="text" onkeyup="doSearch(this.value)">
</form>
<p>
<span id="aramasonucu"></span>
</p>
</center>
</body>
</html>

 

ara.php sayfası

<?php
require "conn.php"; // Db bağlantısını çağıralım
  try
{
$isim="%".$_GET["aranan"]."%";// linkle gelen arama terimini çekelim
$stmt = $conn->prepare("SELECT id, isim, email, tel FROM tablo where isim LIKE ?"); //sorgumuza gonderelim

$stmt->execute(array($isim));

$result = $stmt->fetchAll();

if( ! $result) //eğer aradığımız kelime yoksa uyarı verelim
{
print('No Records Found');
}
else //varsa ekrana döktürelim
{
//Tablo Başlığı oluşturalım. While veya Foreach in dışında yazarsak bir kez ,en ustte çikar ,içinde yazarsak her kaydın başına atar
echo "<table border='1' align='center' cellpadding='5px' cellspacing='2px'>";
//while($row = $stmt->fetch())
echo "<tr><th>İsim</th><th>Email</th><th>Tel</th><th colspan='2'></th></tr>";
foreach($result as $row)
{ //db den dönen değerleri döktürelim
echo "<tr>";

echo "<td>";
echo $row['isim'];
echo "</td>";
echo "<td>";
echo $row['email'];
echo "</td>";
echo "<td>";
echo $row['tel'];
echo "</td>";

//Dİlersen sorgudan dönen id yi tanımlayıp Düzenle ve Sil Sayfaları oluşturabiliriz.
echo "<td>";
$kayit_id=$row['id'];
echo "<a href='duzenle.php?id=$kayit_id'>Düzenle</a>";
echo "</td>";

echo "<td>";
$search_str=$row['id'];
echo "<a href='sil.php?id=$kayit_id'>Sil</a>";
echo "</td>";
echo "</tr>";

}
echo "</table>";
}
}
catch(PDOException $e)
{
echo "Hata: " . $e->getMessage();
}
$conn = null;
echo "</table>";
?>

 

 

 

 

 

 

 

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir