2013-03-26 69 views
0

我正在使用select2插件从mysql填充标签。 所以我传递将q变量的getdada.php.but问题是为什么变量不被传递?

  1. q变量没有被传递访问getdata.php。我想通过这个变量,这样我可以得到有关它的数据(可能是我没有把q变量放在合适的地方)

    2.if我不使用q变量,那么只有最后或第一个变量retrived.I想填充所有的结果作为标签数据(也许错误是在我的jsoncode在getdata.php甲酸盐)

Plz的帮助。

 $("#e8").select2({ 


     placeholder: "Search for another Concept", 
     minimumInputLength: 1, 
     multiple: true, 
     ajax: { // instead of writing the function to execute the request we use Select2's convenient helper 
      url: "getdata.php", 
      dataType: 'json', 
      data: function (term, page) { 
       return { 
        q: term, // search term 

         page: page 

       }; 

      }, 
      results: function (data, page) { 
       return { results: data}; 

      } 
     } 
    }); 

这里访问getdata.php

$sql=mysqli_query($db3,"SELECT * FROM o4_tags"); 

while($row=mysqli_fetch_array($sql)){ 
    $tags=$row['tag_name']; 
    $id=$row['id']; 

     $myArray = array(
      array("id" => "$id", "text" => "$tags"), 
     ); 


} 

echo json_encode($myArray); 
+0

以防万一有人需要这个:这里是Select2他在谈论http://ivaynberg.github.com/select2/ – Hazzit 2013-03-26 23:23:11

回答

1

一开始,似乎有一些与你的PHP脚本去错了。您正在为检索的每一行创建一个新的$ myArray。只有这些数组中的最后一个实际上以JSON形式输出。此代码解决了问题:

$sql=mysqli_query($db3,"SELECT * FROM o4_tags"); 
$myArray=array(); 

while($row=mysqli_fetch_array($sql)){ 
    $tags=$row['tag_name']; 
    $id=$row['id']; 

    $myArray[]=array("id" => "$id", "text" => "$tags"); 
} 
echo json_encode($myArray); 

我不知道为什么你没有看到在你的PHP脚本的检索词,不过话又说回来,我没有看到任何PHP代码实际上与交易搜索词。您是否尝试过倾销$ _REQUEST?

+0

非常感谢。我实际上通过使用$ q = $ _GET [“q “]; – 2013-03-26 23:36:32