我正在尝试创建实时搜索,但控制台总是给我一个错误,有人可以看看我在做什么吗?提前谢谢
所以这是我的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>';
}
?>
答案 0 :(得分:0)