我尝试从数据库中填写下拉列表。我查询并将结果添加到数组中。然后我使用 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);
在我的 php 文件中,我使用 jquery ajax 来填充下拉列表。
$("#turninId").change(function() {
var user_id = $("#turninId").val();
$.ajax ( {
url:"send_input.php",
type: "POST",
dataType: "json",
data:{id_selection: user_id},
success:function(response) {
for (var i=0; i<response.proj.length; i++) {
$("#exp").html(response.proj[i]);
$("#project").html(response.proj[i]); } });
});
这很棒,但我下拉列表中的唯一项目是数据库中的最后一项。例如,我的数据库在 Project 下有以下内容:
Project: up, down, low, right
但是我的下拉列表只填充了最后一个条目,“对”。为什么是这样?我该如何解决?
while 循环中的 PHP json_encode() 类似,我进行了更改,但这里缺少一些东西。