Php 添加到sqlite3中的数组并将json传递给jquery ajax

Php 添加到sqlite3中的数组并将json传递给jquery ajax,php,jquery,ajax,json,multidimensional-array,Php,Jquery,Ajax,Json,Multidimensional Array,我尝试填充数据库中的下拉列表。我查询并将结果添加到数组中。然后使用json_encode将数据发送到php文件 $query="SELECT project FROM main"; $results = $db->query($query); while ($row_id = $results->fetchArray()) { $proj_option[] = "<option value=\"".$row_id['project']."\">".$row_

我尝试填充数据库中的下拉列表。我查询并将结果添加到数组中。然后使用json_encode将数据发送到php文件

$query="SELECT project FROM main";
$results = $db->query($query);
while ($row_id = $results->fetchArray()) {
       $proj_option[] = "<option value=\"".$row_id['project']."\">".$row_id['project']."</option>\n";
       $pselected=$row_id['project'];
}
$output = array( "proj" => $proj_option);
echo json_encode($output);
但我的下拉列表中只填写了最后一个条目“对”。这是为什么?我怎样才能修好它


类似,我做了更改,但这里缺少了一些内容。

每次通过javascript循环时,您都会覆盖html。.html()方法设置标记的innerHTML属性,因此每次调用它时都会重置html,并且只显示最后一个。尝试不使用循环,而是将响应连接在一起,然后调用.html()

可以试试这个吗

success:function(response) {

  $.each(response.proj,function(key,value){
      $("#exp").append(value);
      $("#project").append(value);
  });

}

使用append正是我所需要的!谢谢
Project: up, down, low, right
$("#exp").html(response.proj.join(''));
$("#project").html(response.proj.join(''));
success:function(response) {

  $.each(response.proj,function(key,value){
      $("#exp").append(value);
      $("#project").append(value);
  });

}