jQuery自动完成PHP Mysql张贴不同的字段
jQuery Autocomplete PHP Mysql posting different field
我正在使用jQuery的自动完成,我正在用一个名为site.php的php文件填充我的自动完成下拉列表。php从名为site的mysql表中获取值,该表有3列:id
, code
和site
。我希望我的自动完成只显示code
和site
,然后将相应的id
存储在我的另一个表中。
一切都很好,除了自动完成是发布code
和site
选择,而不是id
。为了将id
发送到我的php POST而不是code
和site
,我需要改变什么?脚本如下:
PHP文件:site.php
<?php
$server = 'sql203.com';
$user = 'xxxxxxxxxxxx';
$password = 'xxxxxxx';
$database = 'b17';
$mysqli = new MySQLi($server,$user,$password,$database);
/* Connect to database and set charset to UTF-8 */
if($mysqli->connect_error) {
echo 'Database connection failed...' . 'Error: ' . $mysqli->connect_errno . ' ' . $mysqli->connect_error;
exit;
} else {
$mysqli->set_charset('utf8');
}
/* retrieve the search term that autocomplete sends */
$term = trim(strip_tags($_GET['term']));
$a_json = array();
$a_json_row = array();
if ($data = $mysqli->query("SELECT * FROM `b17_16413362_upupa`.`site` WHERE code LIKE '%$term%' OR site LIKE '%$term%' ORDER BY code , site")) {
while($row = mysqli_fetch_array($data)) {
$id = htmlentities(stripslashes($row['id']));
$code = htmlentities(stripslashes($row['code']));
$site = htmlentities(stripslashes($row['site']));
$a_json_row["id"] = $id;
$a_json_row["value"] = $code.' '.$site;
$a_json_row["label"] = $code.' '.$site;
array_push($a_json, $a_json_row);
}
}
// jQuery wants JSON data
echo json_encode($a_json);
flush();
$mysqli->close();
?>
Javascript: <script type="text/javascript">
$(function() {
$("#sitex").autocomplete({
source: 'site.php',
minLength: 0
}).focus(function(){
$(this).autocomplete("search");
});
});
</script>
在PHP中修改
$a_json_row["value"] = $code.' '.$site;
$a_json_row["value"] = $id;
value属性是表单将要提交的数据。'label'属性将显示给用户。
相关文章:
- Meteor-添加用户自定义字段的方法不起作用
- 按钮字段确认点击不'不起作用
- 清除以前的$_GET值或不获取仅隐藏字段的值
- 我如何在数字插入中使用逗号,这样它就不会'不要破坏我的输入字段
- 从数据库中检索字段,而不模拟它们
- 在输入字段上有两个函数调用,一个在Blur上,一个不在Angular中
- JS动态添加字段-删除按钮不起作用
- 添加和删除隐藏字段数组中的值,而不提交表单
- 在控制器上使用“$watch”时,为什么不更新此隐藏字段
- 飞行前响应中的访问控制允许标头不允许Angularjs请求标头字段访问控制允许标题
- 保存尝试保存字段/列,但不保存值
- 当所有输入文本字段都为空时,禁止表单提交,但当jquery中的任何字段不为空时允许提交
- Angular Form Wide验证(不特定于字段)
- 不允许在字段中输入不需要的字符
- 在第一页加载时隐藏字段,而不是在php发布之后
- 时间字段上的JavaScript验证(不接受0:00格式)
- 强制URL字段不具有“;http://www."使用regex
- 编辑不起作用的表单的特定行和重置特定字段
- 窗体calc字段不张贴在报告页jquery和asp
- 增加了密码字段的形式不张贴