我在用PHP生成AJAX响应时遇到了一些问题。响应应该是一个包含数据库值的关联数组。这些值随后显示在选择框中。
if (isset($_POST['rolle'])) {
$sql = "SELECT rolle FROM pu_zugriff_rolle ORDER BY rolle ASC";
$result = mysql_query($sql);
$result = mysql_fetch_array($result);
echo json_encode($result);
}
数据库中存储了几个条目,但结果我只获得了两次第一个数据库值。sql查询绝对不是问题所在。
我在某个地方读到创建关联数组需要$result = my_sql_array($result);
语句。如果我不把它放在语句中,它会导致一个空的选择框。
您可以这样做:
$finalArr = array();
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
$finalArr[] = $row;
}
echo json_encode($finalArr);
您需要使用mysql_fetch_assoc($result)或mysql_assoc常量,如mysql_fetch _array($result,mysql_ASSO);