以下代码的输出仅显示我数据的最后一行。有任何想法吗?我想让它向我显示所有行。
以下是代码:
$FinalSet = array();
while ($ResultSet = mysqli_fetch_array($Query)){
$FinalSet = array(
'idExam' => $ResultSet[0],
'SubjectName' => $ResultSet[1],
'ExamTime' => $ResultSet[2],
'ExamDate' => $ResultSet[3],
'IntakeCode' => $ResultSet[4],
'Scope' => $ResultSet[5],
);
}
echo json_encode($FinalSet);
答案 0 :(得分:2)
您必须将它们添加到您的阵列中。你正在更换阵列本身。
您可以使用
执行此操作$FinalSet[] = array(
而不是
$FinalSet = array(
您也可以使用array_push,它也是如此:
array_push($FinalSet, array(......));
答案 1 :(得分:1)
您已初始化$ FinalSet = array();并且您正在存储数据单索引,因此您的数据已被覆盖,并且您在数据的最后一行找到了。现在你可以使用$ FinalSet []而不是$ FinalSet。您将获得所有数据。
答案 2 :(得分:0)
试试这个,你可以使用$FinalSet[]
或array_push()将数组内容推送到主数组中。目前,您正在替换相应的循环计数数组。所以你得到变量中的最后一个数组值。
$FinalSet[] = array(
'idExam' => $ResultSet[0],
'SubjectName' => $ResultSet[1],
'ExamTime' => $ResultSet[2],
'ExamDate' => $ResultSet[3],
'IntakeCode' => $ResultSet[4],
'Scope' => $ResultSet[5]
);
而不是
$FinalSet = array(
'idExam' => $ResultSet[0],
'SubjectName' => $ResultSet[1],
'ExamTime' => $ResultSet[2],
'ExamDate' => $ResultSet[3],
'IntakeCode' => $ResultSet[4],
'Scope' => $ResultSet[5],
);
答案 3 :(得分:0)
在循环中尝试以下操作:
while (...) {
$FinalSet[] = array(...);
}