我正在创建一个基本的自动完成 ajax 脚本来获取 mysql 数据库搜索结果,但无法在 php 页面中显示结果。
我可以在 search.php 中看到从数据库中获取的数据作为数组,但在 check.php 页面中却没有显示。这是因为某种 CSS 还是其他问题?
任何建议都会有很大帮助!!
这是
check.php
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="style.css">
<script type="text/javascript" src = "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0-alpha1/jquery.min.js"></script>
<script type="text/javascript" src="https://code.jquery.com/ui/1.11.3/jquery-ui.min.js"></script>
<style type="text/css">
li.ui-menu-item{
font-size: 12px !important;
}
</style>
<script type="text/javascript">
$(document).ready(function(){
$('#regionsearch').autocomplete({
source: 'search.php',
minLength:1
});
});
</script>
</head>
<body>
<form action="" method="POST">
Search: <input type="text" name="search" id="regionsearch"/>
</form>
</body>
</html>
search.php
<?php
$dblink = mysql_connect('localhost', 'root', 'root') or die(mysql_error());
mysql_select_db('user_information');
if(isset($_REQUEST['term']))
exit();
$rs = mysql_query('Select * from registered_users where first_name like "'.ucfirst($_REQUEST['term']).'%" order by id asc limit 0,10',
$dblink);
$data = array();
while($row=mysql_fetch_assoc($rs, MYSQL_ASSOC)){
$data[] = array(
'label'=>$row['first_name'],
'value'=>$row['first_name']
);
}
echo json_encode($data);
flush()
?>
最佳答案
是的,因为您使用的是 jquery ui 插件,所以您需要嵌入适当的 css。
要遵循您已经完成的操作,请在您的 html 模板中使用这一行:
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.css"/>
您还应该阅读文档以获取远程数据并调整您的代码:
$(document).ready(function(){
$('#regionsearch').autocomplete({
source: 'search.php',
minLength:1,
dataType: "jsonp",
data: {
q: request.term
},
success: function( data ) {
response( data );
}
});
});
关于php - 如何在 Ajax 和 PHP 中创建自动完成搜索?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34544492/