我有一个自动完成的搜索字段,当用户键入一个名称时,结果显示在下拉列表中。PHP MySQL自动完成
这一切工作正常,并显示数据,因为它应该。
但是,我在等待将每个结果链接到一个链接,因此当显示结果时,用户可以单击正确的名称,并将它们带到其配置文件中。
下面见脚本:
<input type='text' id=employees class='form-control' size="80" placeholder="Search Employees by first or last name">
的search.php
$searchTerm = $_GET['term'];
$sql = mysql_query ("SELECT name_first, employee_id, unique_id, name_last FROM hr_employees WHERE name_first LIKE '{$searchTerm}%' OR name_first LIKE '{$searchTerm}%' OR employee_id LIKE '{$searchTerm}%'");
$array = array();
while ($row = mysql_fetch_array($sql)) {
$array[] = array (
'value' => $row['name_first'].' '.$row['name_last'].' ('.$row['employee_id'].')',
);
}
//RETURN JSON ARRAY
echo json_encode ($array);
一旦选择了正确的用户,我想用户去引导到page.php文件ID = $ EMPLOYEE_ID
这可能吗?
的JavaScript
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
的JavaScript
<script>
$(function() {
$("#employees").autocomplete({
source: 'search.php'
});
});
</script>
使用$行[ '身份证']作为数组的索引,而不是 '价值'。然后你将客户端的信息分开。发布您的JavaScript代码以获取进一步说明。 – colburton
请勿使用已弃用的'mysql_ *'函数。从PHP 5.5开始,它们已被弃用,并且自PHP 7以来已完全删除。请改用PDO或MySQLi。您也可以使用SQL注入攻击,并使用Prepared Statements(可以使用PDO和MySQLi)。 –
@colburton - 谢谢,你能告诉我如何在答案中做到这一点? – Shane