-1

データベースにクエリを実行し、部門ごとの平均スコアを表示するスクリプトに取り組んでいます。クエリが機能していますが、唯一の問題は、各結果が 2 回エコーされることです。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++;
}

これに関するヘルプは大歓迎です。

4

1 に答える 1

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>';
于 2013-10-01T17:23:07.390 に答える