Php 为每个数组元素选择一行信息
我有一段代码不会产生任何东西,甚至不会产生错误消息。我试图在while循环中回显结果,但即使这样也没有显示任何内容。有什么建议吗Php 为每个数组元素选择一行信息,php,mysql,Php,Mysql,我有一段代码不会产生任何东西,甚至不会产生错误消息。我试图在while循环中回显结果,但即使这样也没有显示任何内容。有什么建议吗 foreach($droppedStudentIds as $value){ $query3 = "select * from student_classlists where StudentId = '$value' and ClassListDate = (select max(ClassListDate) from student_classl
foreach($droppedStudentIds as $value){
$query3 = "select * from student_classlists where StudentId = '$value' and ClassListDate = (select max(ClassListDate) from student_classlists)";
if($result = mysqli_query($mysqli, $query3)) {
while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
echo "Date: ".$row['ClassListDate'];
$droppedStudentIds[$value][] = $row['ClassListDate'];
}
mysqli_free_result($result);
} else die ("Could not execute query 3");
}
我的目标是查找$droppedStudentIds数组中每个元素的日期信息。我检查了MySQL查询本身,它生成了所需的结果
谢谢 您要分配给此行循环通过的数组:
$droppedStudentIds[$value][] = $row['ClassListDate'];
这可能会导致您的脚本超时,这就是您没有看到任何输出的原因
我将添加第二个数组以避免冲突,并使用它存储查询结果,例如
$temp[$value] = $row['ClassListDate'];
谢谢大家的回复,这有助于纠正错误 请求单个记录时不需要while循环 这个查询实际上是不正确的。无论StudentId是否存在,子选择项都将获取数据库中的最长日期。正确的查询如下所示: 从student_类列表中选择ClassListDate,其中StudentId='$value',ClassListDate=从StudentId='$value'的student_类列表中选择maxClassListDate
再次感谢 唯一的解释是查询实际上没有返回任何行。尝试回显$query3,然后将该查询粘贴到phpmyadmin或mysql中。ClassListDate为空?谢谢@Daniel,我尝试了你的建议,但是$temp出现了一个未定义的变量错误。嗯,我一定错过了什么明显的东西…那只是一个初始化警告。在进入循环之前,添加行“$temp=array;”