所以我有多个网页,都包含相同的搜索表单。现在我想在用户开始输入时,加载带有结果列表的页面,替换当前页面,然后查询并显示找到的所有项目。我怎么能用ajax做到这一点?当我转到结果页面(另一个 .php 页面)时,我无法真正显示结果。
例如,我的索引页上有这个表格:
<form action='films.php' method='get' id='zoekform'>
<input id="ZoekBalkSearch" type="search" name="zoekparameter" placeholder="Geef een zoekterm in."/>
<input id="ZoekButton" type="submit" value="Zoek"/>
</form>
我有一个页面,列出了在我的 movies.php 页面上搜索的电影:
//controlleer of er een zoekparameter meegegeven is
if(!isset($_GET['zoekparameter']))
{
//haal alle films op gesorteerd volgens naam indien er geen zoekparameter meegegeven is
$query=$connection->prepare("SELECT id,filmnaam,filmjaar,regisseur,acteurs,posterlink FROM films ORDER BY filmnaam;");
}
else if ($_GET['zoekparameter']!='')
{
//anders haal de zoekparameter op
$tezoeken=$_GET['zoekparameter'];
//controleer ook of er misschien naar een jaar gezocht is en sla deze variabele op in $jaar
$jaar=intval($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,filmjaar,regisseur,acteurs,posterlink FROM films WHERE filmnaam ILIKE :zoek OR regisseur ILIKE :zoek OR acteurs ILIKE :zoek OR filmjaar=:jaar ORDER BY filmnaam;");
$query->bindParam(':zoek',$tezoeken,PDO::PARAM_STR);
$query->bindParam(':jaar',$jaar,PDO::PARAM_INT);
}
$query->execute();
//geef alle gevonden films terug in de table
while($row=$query->fetch(PDO::FETCH_BOTH))
{
$id=$row[0];
$filmnaam=$row[1];
$filmjaar=$row[2];
$regisseur=$row[3];
$acteurs=$row[4];
$poster=$row[5];
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><td><a href='moviePage.php?id=$id'>$filmjaar</a></td><td><a href='moviePage.php?id=$id'>$regisseur</a></td><td><a href='moviePage.php?id=$id'>$acteurs</a></td></tr>";
}
?>
提前致谢