2014-04-27 32 views
1

我正在尝试使用引导程序的键入功能来创建自动完成文本框。我已经通过javascript中的数组对其进行了测试,手动输入。不过,我试图添加允许自动完成使用来自mysql数据库的数据的代码,但我无法实现这个功能。我能做些什么来解决这个问题,以便自动完成将显示来自MySQL数据库的建议词汇?引导程序自动完成(键入)不起作用

HTML(test2.html)

<div class="well"> 
    <input type="text" class="span3" id="typeahead" data-provide="typeahead" data-items="4" /> 
</div> 

<script>  
$('#typeahead').typeahead({ 
    source: function(typeahead, query){ 
     $.ajax({ 
      url: 'source.php', 
      type: 'POST', 
      data: 'query=' + query, 
      dataType: 'JSON', 
      async: 'false', 
      success: function(data){ 
       typeahead.process(data); 
      } 
     }); 
    } 
});  
</script> 


PHP(source.php)

<?php 

include 'connect.php'; // connects to database 

if (isset($_POST['query'])) { 
    $query = $_POST['query']; 
    $mysql_query = mysql_query("SELECT * FROM country WHERE country LIKE '%{$query}%'"); 

    while ($row = mysql_fetch_assoc($mysql_query)) { 
     $array[] = $row['name']; 
    } 

    json_cnode($array) 

} 
+0

错误是什么......你得到了什么......问题是什么......你调试过吗? – lagbox

+0

json_cnode($ array)..不是json_encode [$ array]; ...应该在那里丢出一个错误 – lagbox

+0

仍然没有工作。问题在于,当我输入时(没有激活autosuggest),没有任何反应,所以我不知道问题的根源。我知道mysql查询肯定会起作用,所以这不是问题。 – user3377126

回答

0

的错误是在你的代码的下一个部分:

json_cnode ($array)

应该说:

echo json_encode ($array);