您可以使用AJAX来实现这一点。您可以编写一个小PHP脚本,根据当前输入到搜索框中的字符对数据库进行简单调用,然后使用AJAX调用它来填充搜索框。我不会把所有东西写出来,因为这不是网站的内容,但你可以从这里开始。网上也有很多这样的教程。
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 =表,您通过AJAX
发送Z =变量,应该是绰绰有余建立一个搜索框更新更多。
ajax/jquery会工作 – ryanbwork 2012-07-31 00:41:22