我正在为手机比较网站开发实时搜索系统。我将手机存储在MySQL的表格中,并带有一个名为“completename”和“id”的变量。 “completename”变量用于显示结果的完整名称,id用于创建指向特定手机的链接。
代码有效,我键入一个名称,它在表格中显示类似的结果。如果我输入Sony,它将显示最多5部手机,其名称中包含Sony一词。
我想要做的是将这些结果转换为链接,以便点击它们并将用户发送到相应的电话信息查看器。
以下是搜索框的代码:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap-theme.min.css">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
<script src="typeahead.min.js"></script>
<script>
$(document).ready(function(){
$('input.typeahead').typeahead({
name: 'typeahead',
remote:'search.php?key=%QUERY',
limit : 10
});
});
</script>
<div class="panel panel-default">
<div class="bs-example">
<input type="text" name="typeahead" class="typeahead tt-query" autocomplete="off" spellcheck="false" placeholder="Type your Query">
</div>
这里是search.php:
<?php
$key=$_GET['key'];
$array = array();
$con=mysql_connect("localhost","user","pass");
$db=mysql_select_db("database",$con);
$query=mysql_query("SELECT * FROM phones where completename LIKE '%{$key}%'");
while($row=mysql_fetch_assoc($query))
{
$array[] = '<a href="viewer.php?id=' . $row['id'] . '">' . $row['completename'] . '</a>';
}
echo json_encode($array);
?>
我的问题是,当我点击结果,这是一个链接并且工作了一会儿,当浏览器发送请求时,在搜索文本框中我可以看到$ array中的源代码变量(
那么,我该如何防止这种情况呢?
非常感谢!