2010-01-25 59 views
0

我设计一个web应用程序,并需要一种方法来牵线了MySQL数据库并将其显示为下拉建议,表单中的用户数据类型。jQuery的表单输入建议

例如,如果用户输入“STAC”应用程序应搜索数据库,并提供类似的建议:“堆栈”,“计算器”。我正在寻找一些simalar来处理Stack Overflow中的很多标记字段。做这个的最好方式是什么?

回答

5

使用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()); 
}); 
+1

+1非常完整的答案 – Michel 2010-01-25 19:53:30

+0

@Michel,谢谢! – 2010-01-25 19:58:17

+0

@Jacob_Relkin谢谢! – crgwbr 2010-01-25 20:12:46