wmaraci

Ajax- PHP MySql Dinamik Arama İşlemi

Please log in or Kaldol to like posts.
Yazı

Bu yazımda PHP’yi temel dilde kullanarak Ajax Arama Kutusu oluşturacağız. Gerçek zamanlı arama, Google’ın kullandığı bir teknoloji. Web projelerinin kullanımını oldukça hızlandırıyor. Avantajları arasında sunucu üzerinde daha az yük barındırmak ta yer alıyor.

Tarayıcıdan gelen GET isteğini kullanarak dinamik bir arama sistemi oluşturacağım. Tabi bu isteği son kullanıcı göremeyecek.

dinamil

Aşama 1: Database

Örnek için bir veritabanı oluşturalım. phpMyAdmin arayüzünü kullanabilirsiniz. Oluşturduktan sonra aşağıdaki sorguyu çalıştıralım.

  • CREATE TABLE ‘user_name’
    (
    user_id INT(20) PRIMARY KEY,
    first_name TEXT
    );

Çalıştırdıktan sonra testlerde kullanılmak üzere, tabloya biraz demo kullanıcı adları ekleyebilirsiniz.

Aşama 2: Front-End

PHP dosyasına Ajax isteği yapmak için typeahead adında bir JavaScript kitaplığı kullanıyorum. Bu tür bir amaç için özel olarak tasarlanmış düzgün ve temiz bir kütüphanedir kendisi.

  1. <html>
  2.   <head>
  3.     <title>Ajax ve PHP ile gerçek zamanlı arama işlemi fatihsoysal.com</title>
  4.     <script src=“http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js”>        </script>
  5.      <script src=“typeahead.min.js”></script>
  6.     </head>
  7.     <body>
  8.      <input type=“text” name=“typeahead”>
  9.     </body>
  10.     </html>

Aşama 3: GET kullanarak PHP Komut Dosyasını Çağırma

Bu aşamadaki görevimiz, metin kutusuna kullanıcı yazı yazarken PHP dosyamıza istek atmak olacaktır. Bunu typehead kütüphanesini kullanarak yapıyoruz. Aşağıdaki gibi:

  1. <script>
  2.     $(document).ready(function(){
  3.     $(‘input.typeahead’).typeahead({
  4.         name: ‘typeahead’,
  5.         remote:‘search.php?key=%QUERY’,
  6.         limit : 10
  7.     });
  8. });
  9.     </script>

Dipnot: Otomatik olarak metin kutusu değerini %QUERY değişkende döndürür.

Aşama 4: MySQL’den veri alıp JSON olarak geri döndüreceğiz

İşte artık en önemli aşamadayız. Şimdiye kadar gerekli altyapımızı oluştuduk. Şimdi ise PHP dosyasında gelen parametreyi alıp, veritabanından sorugulamasını yapacağız. Geri sonuç döndüreceğiz.

Sonuç alındıktan sonra, ilgili sonucu JSON formatında paketleyeceğiz.

  1. <?php
  2.     $key=$_GET[‘key’];
  3.     $array = array();
  4.     $con=mysql_connect(“localhost”,“root”,“”);
  5.     $db=mysql_select_db(“database name”,$con);
  6.     $query=mysql_query(“select * from table_name where <coloumn_name> LIKE ‘%{$key}%'”);
  7.     while($row=mysql_fetch_assoc($query))
  8.     {
  9.       $array[] = $row[‘title’];
  10.     }
  11.     echo json_encode($array);
  12. ?>

Lütfen parametrenizi veritabanınıza ve sütun ayrıntılarına göre değiştirin.

İşlemler tamamlandı. Gerçek zamanlı arama çalışmamızı istediğiniz şekilde kullanabilirsiniz.

wmaraci

Bir cevap yazın

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