0
我試圖創建一個實時搜索,但控制檯總是給我一個錯誤,有人可以看看我在做什麼?在此先感謝阿賈克斯生活建議搜索不起作用
所以這是我的html代碼:
<li id="ZoekBalk">
<!--De zoekbalk-->
<form action='films.php' method='get'id='zoekform'>
<input id="ZoekBalkSearch" type="search" name="zoekparameter" placeholder="Geef een zoekterm in." onkeyup="ajaxzoeken(this.value)" />
<input id="ZoekButton" type="submit" value="Zoek"/>
</form>
<div id="resultatenPlaatshouder"></div>
</li>
我的JavaScript函數:
function ajaxzoeken(str) {
if (str.length == 0) {
document.getElementById("resultatenPlaatshouder").innerHTML = "";
return;
}
if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
} else {// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById("resultatenPlaatshouder").innerHTML = xmlhttp.responseText;
}
}
xmlhttp.open("GET", "ajaxzoeken.php?teZoeken = " + str, true);
xmlhttp.send();
}
和我的PHP代碼:
<?php
require 'data.php';
if (isset($_GET['teZoeken'])) {
$tezoeken=$_GET['teZoeken'];
//voeg eventuele extra karakters toe aan de zoekquery
$tezoeken = '%'.$tezoeken.'%';
//zoek in de database (gebruik ook bindparams als beveiliging tegen sql injection)
$query = $connection->prepare("SELECT id,filmnaam,posterlink FROM films WHERE filmnaam ILIKE :zoek ORDER BY filmnaam;");
$query->bindParam(':zoek',$tezoeken,PDO::PARAM_STR);
$query->execute();
//geef alle gevonden films terug in een table
echo '<table>'
while ($row = $query->fetch(PDO::FETCH_BOTH)) {
$id = $row[0];
$filmnaam = $row[1];
$poster = $row[2];
echo "<tr><td><a href='moviePage.php?id=$id'><img class='miniposter' src='$poster' alt='De poster van de film'/></a></td><td><a href='moviePage.php?id=$id'><strong>$filmnaam</strong></a></td></tr>";
}
echo '</table>';
}
?>
我建議使用jquerys驚人的Ajax功能,所以你不需要與不同的瀏覽器問題鬥爭。 – steven
爲什麼不包括你得到的錯誤。這將是有用的 – Anigel
''tezoeken''' teZoeken'' – Virus721