我有一个自动完成搜索框,当用户输入名称时,结果会显示在下拉菜单中。
这一切都很好地工作,并按照应该显示的数据来显示。
我想把每个结果变成一个链接,让用户可以在显示结果时点击正确的名称,然后跳转到他们的个人资料页面。
请参见以下脚本:
<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>
mysql_*
函数。自 PHP 5.5 起已被弃用,自 PHP 7 起已完全删除。请改用 PDO 或 MySQLi。您还容易受到 SQL 注入攻击,应该使用 Prepared Statements(可以在 PDO 和 MySQLi 中使用)。 - M. Erikssonmysql_query
接口。它非常糟糕和危险,已经在PHP 7中被删除。像PDO不难学习这样的替代方案以及像PHP之道这样的指南可以解释最佳实践。你的用户参数没有正确转义,存在可以利用的SQL注入漏洞。 - tadman