php - php和mysql中的自动完成文本框

标签 php mysql

我正在尝试用 php 制作一个自动完成的文本框。 这是我的 JavaScript 代码

<script src="assets/js/jquery-1.10.2.js"></script>
<script src="assets/js/jquery-1.3.2.min.js"></script>
<script src="assets/js/jquery-ui-1.10.4.custom.min.js"></script>
<script type="text/javascript">
jQuery(document).ready(function(){
$('#search').autocomplete({
source : 'search-job.php',
minLength:2
}); 
});
</script>

这是我的html代码

<input type="text" id="search" class="form-control input-lg col-xs-4" name="search">

这是我的 search-job.php

<?php
include 'connectdb.php';
if(isset($_REQUEST['term']))
exit ();
$rs=  mysql_query("select * from jobs where `title` like '%"  . ucfirst($_REQUEST['term']). "%' ORDER BY id ASC LIMIT 0,10") or      die(mysql_error());
$data=  array();
while($row=  mysql_fetch_assoc($rs,MYSQL_ASSOC)){
$data[]=array(
'label'=>$row['title'],
'value'=>$row['title']
);
}
echo json_encode($data);
flush();

我在 search-job.php 中得到正确的值。但它没有被 html 捕获 但是当我运行代码时什么也没发生?这是为什么?

这是它在网络选项卡上的样子 according to this it is not passing values to term correctly

最佳答案

您传递的数组格式错误。

$data[]=array(
'label'=>$row['title'],
'value'=>$row['title']
);

应该是

$data[$row['title']]= >$row['title'];
OR simply
$data[]= >$row['title'];

替换

source : 'search-job.php',

source: 'search-job.php?term='+document.getElementById('search').value,

关于php - php和mysql中的自动完成文本框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31282968/

相关文章:

html - 在mysql中获取总数和组数

php - 如何将动态 php 页面放入 jquery Accordian "active"部分

php - 从 MYSQL 获取结果创建一个数组

php - 每日将 .csv 文件从 sftp 导入 MySQL 数据库

mysql - 如果已存在具有相同值的行,则增加一列

php - PHP 的故障转移数据库连接

php - 将数据插入数据库时​​出现问题

PHP cURL 位置更改

php - 我如何重写这段代码以提高其清晰度?

php - RESTful Api 还是直接访问?