我有一个搜索建议代码,它是从我之前设计的一个网站中获取的。我将完整代码复制到我的新站点,但知道搜索建议由于某种原因不起作用!
请看我的代码:
<script type="text/javascript" src="http://code.jquery.com/jquery-1.8.3.js"></script>
<script type="text/javascript" src="http://code.jquery.com/ui/1.9.2/jquery-ui.js"></script>
<!--search suggestions-->
<script type="text/javascript">
function lookup(inputString) {
if(inputString.length == 0)
{
$('#suggestions').hide();
}
else
{
$.post("suggest.php", {queryString: ""+inputString+""}, function(data){
if(data.length > 0) {
$('#suggestions').show();
$('#autoSuggestionsList').html(data);
}
});
}
}
function fill(thisValue) {
$('#inputString').val(thisValue);
setTimeout("$('#suggestions').hide();", 200);
}
function outoffocus() {
setTimeout("$('#suggestions').hide();", 200);
}
</script>
我的PHP:
<?php
if(isset($_POST['inputString']))
{
$inputString = safe($_POST['inputString']);
if(mb_strlen($inputString) > 0)
{
$query = $db->query("SELECT title FROM table WHERE title LIKE '$inputString%' LIMIT 5");
if($db->num_rows($query) > 0)
{
while($result = $db->fetch_array($query))
{
echo "<li onClick=\"fill('".$result['title']."');\"><a href='".$config['site_dir']."/".$result['title']."/'>".$result['title']."</a></li>";
}
}
else
{
echo "NOTHING HERE GO AWAY";
}
}
}
?>
我已经测试了 PHP 文件和 SQL STATMENT。他们两个似乎都有效。
我认为问题在于 HTML 和 JQUERY
这是我的 HTML
<form id="search" action="{$url}/search.php" method="get">
<input type="text" name="search" id="inputString" onkeyup="lookup(this.value);" onblur="outoffocus()" onfocus="lookup(this.value);"/>
<input type="submit" value=" " />
<div class="suggestionsBox" id="suggestions" >
<div class="suggestionList" id="autoSuggestionsList">
</div>
</div>
</form>
在你回答之前你应该知道两件事:我有一个链接到Suggest.php的文件来连接到sql..所以这应该不是问题。我放在那里的查询与我在原始文件中的查询不完全相同,所以我可以告诉你问题不在 MYSQL 中。它在我给出的代码中的某个地方。