我正在编写一个查询数据库的脚本,并显示每个部门的平均分数。我有查询工作,唯一的问题是它回显每个结果两次。我认为这是我的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++;
}
非常感谢任何帮助。
答案 0 :(得分:2)
mysqli_fetch_array()
也设置了数字索引键。
使用mysqli_fetch_assoc()
仅设置关联数组。
如果您想调试,请在设置$row
:
// $row = mysqli_fetch_array($result);
$row = mysqli_fetch_assoc($result);
echo '<pre>'.print_r($row, true).'</pre>';