为什么我的结果会多次回响?

时间:2013-10-01 17:21:03

标签: php mysqli echo

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

非常感谢任何帮助。

1 个答案:

答案 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>';