您可以使用 AJAX 来完成此操作。您可以编写一个小的 PHP 脚本,根据当前输入到搜索框中的字符对数据库进行简单调用,然后使用 AJAX 调用它来填充您的搜索框。我不会为你写完整的东西,因为这不是网站的目的,但你可以从这里开始。网上也有很多类似的教程。
阿贾克斯:
function getXmlHttpRequestObject() {
if (window.XMLHttpRequest) {
return new XMLHttpRequest();
} else if(window.ActiveXObject) {
return new ActiveXObject("Microsoft.XMLHTTP");
} else {
alert("Your browser does not support AJAX, please upgrade.");
}
}
//Create XMLHTTPRequest Object
var searchEntry = getXmlHttpRequestObject();
//Send AJAX request, do something when it sends a response
function searchSuggest() {
if (searchReq.readyState == 4 || searchReq.readyState == 0) {
var str = document.getElementById('insertsearchboxidhere').value;
searchEntry.open("GET", 'yourphpscript.php?search=' + str, true);
searchEntry.onreadystatechange = doSearchStuff();
searchEntry.send(null);
}
}
//Function that does the work with the response
function doSearchStuff() {
if (searchReq.readyState == 4) {
var str = searchEntry.responseText;
//Set innerHTML of your stuff to str, whatever else you want
}
}
PHP:显然,您需要的不仅仅是下面的代码,但首当其冲的工作将是从您的数据库中返回以当前输入到搜索框中的字母开头的条目。你可以弄清楚其余的。
$query = "Select distinct(x) from (y) where x like '(z)%'";
x = 字段,y = 表格,z = 您通过 AJAX 发送的变量
这应该足以构建一个更新的搜索框。