我设计一个web应用程序,并需要一种方法来牵线了MySQL数据库并将其显示为下拉建议,表单中的用户数据类型。jQuery的表单输入建议
例如,如果用户输入“STAC”应用程序应搜索数据库,并提供类似的建议:“堆栈”,“计算器”。我正在寻找一些simalar来处理Stack Overflow中的很多标记字段。做这个的最好方式是什么?
我设计一个web应用程序,并需要一种方法来牵线了MySQL数据库并将其显示为下拉建议,表单中的用户数据类型。jQuery的表单输入建议
例如,如果用户输入“STAC”应用程序应搜索数据库,并提供类似的建议:“堆栈”,“计算器”。我正在寻找一些simalar来处理Stack Overflow中的很多标记字段。做这个的最好方式是什么?
使用PHP,这是很简单的。
我会用LIKE
关键字在SQL找到相关结果。
然后我会分析的结果为JSON,然后返回给客户端。
一个简单的例子:
<?php
$_q = (isset($_POST[ 'q' ]) && !empty($_POST[ 'q' ])) ? $_POST[ 'q' ] : NULL;
if($_q === NULL) {
echo 'invalid querystring';
exit;
}
//connect to the db....
$set = $db->query('SELECT name FROM my_table WHERE name LIKE \'%' . $_q . '%\';');
$json = array();
while($result = $set->fetch_array()) {
$json[] = $result[ 'name' ];
}
echo json_encode($json);
?>
JavaScript的:(使用jQuery)
function getResults(str) {
$.ajax({
url:'suggest.php'.
type:'POST',
data: 'q=' + str,
dataType: 'json',
success: function(json) {
//json is now an array, here's where you render the dropdown data.
}
});
}
$('.suggest').keyup(function() {
getResults($(this).val());
});
退房的jQuery autocomplete plugin。无论是在页面加载或通过调用Ajax时,将生成使用你的服务器端语言出现在例如字符串列表,
+1非常完整的答案 – Michel 2010-01-25 19:53:30
@Michel,谢谢! – 2010-01-25 19:58:17
@Jacob_Relkin谢谢! – crgwbr 2010-01-25 20:12:46