PHP’de AJAX ile Anlık Arama Yapma

Admin

Administrator
Yönetici
Administrator
Katılım
30 Eki 2016
Mesajlar
6,219
Beğeniler
10
Puanları
18,020
Konum
Zonguldak


Merhaba arkadaşlar PHP ile PDO kodlarımızı bitirdikten sonra belkide ismini nadir duyduğunuz ve çok işinize yarayacak olan bir sistem olan ajax ile ilgili kodlarımızı paylaşacağız. AJAX yardımı ile daha interaktif projeler tasarlayabilirsiniz. Bu konumuzda basit bir örnek yapacağız ve bu örnekte daha önceden belirlemiş olduğumuz bir dizide anlık arama yaparak sonuçları ekrana yazdıracağız. Gerekli kodlara konu içerisinden ulaşabilirsiniz.


index.php Dosyası

HTML:
<html>
<meta charset="utf-8">
<head>
<script>
function aramayaBasla(str) {
    if (str.length == 0) { 
        document.getElementById("sonuc").innerHTML = "";
        return;
    } else {
        var xmlhttp = new XMLHttpRequest();
        xmlhttp.onreadystatechange = function() {
            if (this.readyState == 4 && this.status == 200) {
                document.getElementById("sonuc").innerHTML = this.responseText;
            }
        };
        xmlhttp.open("GET", "isimler.php?q=" + str, true);
        xmlhttp.send();
    }
}
</script>
</head>
<body>
<p><b>Aramaya Başla:</b></p>
<form> 
İsim: <input type="text" onkeyup="aramayaBasla(this.value)">
</form>
<p>Sonuç: <span id="sonuc"></span></p>
</body>
</html>


isimler.php Dosyası

HTML:
<?php
$dizi[] = "Ahmet";
$dizi[] = "Savaş";
$dizi[] = "Dersim";
$dizi[] = "Nuran";
$dizi[] = "Nurhak";
$dizi[] = "Serdar";
$dizi[] = "Dilan";
$dizi[] = "Buket";
$dizi[] = "Zeynep";
$dizi[] = "Kayhan";
$dizi[] = "Efendi";
$dizi[] = "Hüseyin";
$dizi[] = "Ferhat";
$dizi[] = "Nurgül";
$dizi[] = "Muhterem";
$dizi[] = "Ayşet";
$dizi[] = "Sercan";
$dizi[] = "Mikail";
$dizi[] = "Murat";
$dizi[] = "Aslan";
$dizi[] = "Kiraz";
$dizi[] = "Elma";
$dizi[] = "Armut";
$dizi[] = "Şeftali";
$q = $_REQUEST["q"];
$ara = "";
if ($q !== "") {
    $q = strtolower($q);
    $len=strlen($q);
    foreach($dizi as $isim) {
        if (stristr($q, substr($isim, 0, $len))) {
            if ($ara === "") {
                $ara = $isim;
            } else {
                $ara .= ", $isim";
            }
        }
    }
}
echo $ara === "" ? "Sonuç Bulunamadı" : $ara;
?>
 
Üst