AutoComplete | Otomatik Metin Tamamlama scriptinin kullanıma hazırlanması
Uygulamanın kullanıcı tarafında kullancağımız scripti jquery ile yaptım. JavaScript dosyasının ismi auto_complete.js . Uygulamanın çalışır haline buradan , dosyalara buradanulaşabilirsiniz. Uygulamanin çalışır hali:Şimdi scripti kullacağımız sayfanın html head etiketleri arasına aşağıdaki javascript ve css dosyalarını sayfaya dahil edelim:
1 | <script src="jquery-1.3.2.min.js"></script> |
2 | <link type="text/css" rel="stylesheet" href="auto_complete_theme.css"/> |
3 | <script > |
4 | // kelime önerilerinin anlınacağı php sayfasını bu global değişkene kaydetmemiz gerekiyor. |
5 | // Benim gösterdiğim örnekte bu arama_oneri.php |
6 | var arama_sayfasi= "arama_oneri.php"; |
7 | </script> |
8 | <script src="auto_complete.js"> |
9 | </script> |
1 | <form id="arama_form" action="yonlendirilecek_sayfa_buraya" method="get" > |
2 | <input autocomplete="off" type="test" name="arama" id="arama" > |
3 | <button value="submit" type="submit" text="button" > submit </button> |
4 | <div id="oneriler" class="oneriler" > |
5 | </div> |
6 | </form> |
AutoComplete | Otomatik Metin Tamamlama uygulamasının Sunucu tararlı kodun hazırlanması
Tamamlanacak metinleri ve sonuç sayısını alacağımız php scriptini yazmamız gerekiyor. Javascript dosyasında JSON verisi ile ajax isteği yapılacağı için PHP scriptinde verileri JSON formatında yollamamız gerekiyor. Aslında burada tek yapacağımız verileri json formatında yollamak o kadar. Tabii yollanacak JSON verisinin Jquery scriptinde( auto_complete.js ) algılanması için şu çıktıya benzer bir şekilde bir Json çıktısı yollamamız gerek:Bu çıktıyı verecek PHP sayfamız aşağıdaki gibi olacak:
01 | // PHP ve Jquery ile Google suggest benzeri AutoComplete |
02 | // | Otomatik Metin Tamamlama Hazırlamak |
03 |
04 | // arama formundan gonderilen kelimeyi GET metodu ile alıyoruz (tabii set edilmişse). |
05 | if (isset($_GET['kelime'])) |
06 | { $aranan=trim($_GET['kelime']); |
07 |
08 | // kelime hecelerle eşleştirme yapılarak eşleşen |
09 | // heceye göre bir çıktı gönderiyoruz istemciye. |
10 |
11 | if ( $aranan=="a") |
12 | { |
13 | $a=array( "as"=> "5", "asa" => "2","asalak"=> "1", "asık" => "4" |
14 | ,"aslan"=> "6", "atıl" => "3" ,"atılım" =>"7", "az" => "2" ); |
15 | echo json_encode($a); |
16 | } |
17 |
18 | else if ( $aranan=="as") |
19 | { |
20 | $as=array("as"=> "5", "asa" => "2","asalak"=> "1", |
21 | "asık" => "4" ,"aslan"=> "6" ); |
22 | echo json_encode($as); |
23 | } |
24 | } |
"SELECT urun_basligi, COUNT(urun_basligi) AS sonuc_sayisi FROM urunler WHERE urun_basligi LIKE 'a%' group by urun_basligi"
Bir de arama formun yollanacağı bir PHP dosyamızın olması gerekiyor. Formu get metodu ile yollayacağımız için aranan kelimeyi $_GET['arama'] ile alabiliriz. Bu kısmı size bırakıyorum. Uygulamayı kendi projenize uygulamanız için sunucu tarafında Json verisini nasıl oluşturacağınıza siz karar vermelisiniz.