我正在编写一个查询数据库并显示每个部门平均分数的脚本。我让查询正常工作,唯一的问题是它会回显每个结果两次。我认为这是我的while/foreach语句嵌套的问题,但我似乎无法解决它。 我尝试将 } 移动到几个不同的区域,但找不到解决方案。 这是问题区域。
$time='Y-m-d';
strtotime(date('Y-m')."-1 month");
$area=array(
0=> "Assembly &Test ESP",
1=> "Hermetic ESP",
2=> "Machine Shop ESP",
3=> "Maintenance",
4=> "Mining ESP",
5=> "Punch Press ESP",
6=> "Weld Fab ESP",
7=> "Winding ESP",
8=> "DMI",
9=> "Shelby Maintenance",
10=>"Shelby Machine Shop");
$i=0;
$post=array();
while($i<11){
$result = mysqli_query($con,"Select AVG(score) As average FROM RESULTS where esp_unit = '$area[$i]' and time <'time-30'");
$row=mysqli_fetch_array($result);
echo $area[$i];
print"</br>";
foreach($row as $element){
echo $element."<br>";
}
$i++;
}
非常感谢对此的任何帮助。
mysqli_fetch_array()
也在设置数字索引键。
使用 mysqli_fetch_assoc()
仅设置关联数组。
如果要调试,请在设置$row
后添加此行:
// $row = mysqli_fetch_array($result);
$row = mysqli_fetch_assoc($result);
echo '<pre>'.print_r($row, true).'</pre>';