2013-03-25 202 views
0

我想通过使用select2插件将MySQL远程数据用作标记。但是我的JSON学习曲线非常薄弱。请帮我修正这个JSON格式。这个JSON为什么不起作用?

$("#e7").select2({ 
    placeholder: "Search for a movie", 
    minimumInputLength: 3, 
    ajax: { 
     url: "search.php", 
     dataType: 'jsonp', 
     quietMillis: 100, 
     data: function (term, page) { // page is the one-based page number tracked by Select2 
      return { 
       q: term, //search term 
       page_limit: 10, // page size 
       page: page, // page number 
       apikey: "ju6z9mjyajq2djue3gbvv26t" // please do not use so this example keeps working 
      }; 
     }, 
     results: function (data, page) { 
      var more = (page * 10) < data.total; // whether or not there are more results available 

      // notice we return the value of more so Select2 knows if more results can be loaded 
      return { 
       results: data.movies, 
       more: more 
      }; 
     } 
    }, 
    formatResult: movieFormatResult, // omitted for brevity, see the source of this page 
    formatSelection: movieFormatSelection, // omitted for brevity, see the source of this page 
    dropdownCssClass: "bigdrop", // apply css that makes the dropdown taller 
    escapeMarkup: function (m) { 
     return m; 
    } // we do not want to escape markup since we are displaying html in results 
}); 

这里是search.php中

<?php 
    $sql=mysqli_query($db3->connection,"SELECT * FROM tags"); 

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

     $response=array(); 
     $response['tags']=$tags; 
     $response['id']=$id;  
    } 

    echo json_encode($response); 
?> 
+4

的每一次迭代的$回应如果不说明是什么问题,即你希望发生的事情,到底发生了什么,你等等,那么它有什么错误信息我们不可能帮助你。请编辑您的问题并详细说明问题。不,“它不工作”是*不是一个有用的错误描述。我的烤面包机也不工作。 – 2013-03-25 10:27:53

+1

您在while循环中重置$ response。移动'$ response = array();'outside并用'$ response [] = array('tags'=> $ tags,'id'=> $ id)替换内部;'' – Waygood 2013-03-25 10:28:43

回答

0

while循环不填充$回应阵列。 $响应=阵列();正在重置与循环

$sql=mysqli_query($db3->connection,"SELECT * FROM tags"); 

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

    $response[]=array('tags'=>$tags, 'id'=>$id); 

} 

echo json_encode($response);