我是javascript,php等全新的...我真的需要一些帮助来完成我的培训申请。
这是我的问题。
我在数据库上使用自动填充功能来查找特定公司。
Autocompletion返回Label和Value以及公司名称,但我需要其ID,因为我的应用程序的其余部分使用ID。
以下是一个例子:
这是我在POST中得到的:
array (size=23)
'company' => string 'example' (length=10)
所以我仍然需要公司的名称而不是“示例”我想要“示例”的ID。
这是我的search.php:
$dbHost = 'localhost';
$dbUsername = 'root';
$dbPassword = '';
$dbName = 'bsup';
if(!isset($company)) $company = '';
if(!isset($_POST['company'])) $_POST['company'] = '';
$db = new mysqli($dbHost,$dbUsername,$dbPassword,$dbName);
$searchTerm = $_GET['term'];
$query = $db->query("SELECT * FROM tcompany where name like '%".$searchTerm."%' ORDER BY name ASC");
while ($row = $query->fetch_assoc()) {
$data[] = $row['name'];
}
//return json data
echo json_encode($data);
我的HTML:
$(function() {
var cache = {};
$.ajaxSetup( { type: "post" } );
$( "#company" ).autocomplete({
minLength: 2,
select: function( event, ui ) {
$(event.target).val(ui.item.value);
$("#myform").submit();
},
source: function( request, response ) {
$.getJSON( "search.php", request, function( data, status, xhr ) {
response( data );
});
}
});
});
非常感谢你的帮助!
答案 0 :(得分:1)
更新您的json以包含您需要的所有数据。例如,返回一个如下数组:
$data[$row['ID']] = $row['name']
如果您需要更多数据,可以使用
等数组$data[$row['ID']] = array($row['name'], $row['whatever'])
如果您想在自动填充中建议ID而不是名称,请使用:
$data[] = $row['ID']