为什么我的结果多次回响


Why are my results echoing multiple times?

我正在编写一个查询数据库并显示每个部门平均分数的脚本。我让查询正常工作,唯一的问题是它会回显每个结果两次。我认为这是我的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>';