我用 php 和 javascript 制作了一个“实时搜索栏”。如果您在搜索栏中输入一个单词,它将搜索数据库(mysql)。
索引.php:
<input type="text" onkeyup="getMovie(this.value)"/>
<div id="movie"></div>
javascript.js:
function getMovie(value) {
$.post("getmovie.php",{partialMovie:value},function(data) {
$("#movie").html(data);
});
}
获取电影.php:
include_once "connection.php";
if($_POST['partialMovie']){
$partialMovie = $_POST['partialMovie'];
$sql = "SELECT title FROM movie WHERE title LIKE '%$partialMovie%'";
$stm = $db->prepare($sql);
$result = $stm->execute(array());
while($row = $stm->fetch(PDO::FETCH_ASSOC)) {
echo "<li>".$row['title']."</li>";
}
}
这行得通,但速度很慢。我的数据库中只有 3 部“电影”,但显示结果需要一两秒钟。
三部电影的片名是:een twee drie。但如果我快速输入“een”,一秒钟后你会看到 een、twee、drie。一秒钟后你会看到:een twee。再过一秒钟你就会看到:een。
所以我的问题是:有没有办法加快搜索速度,或者如果你输入另一个字母,有没有办法停止搜索?