0

3 つの列に対してクエリを実行しています。1 つの列にはテキストが含まれ、他の 2 つの列には数値が含まれます。これらの数値を計算して、$average という新しい数値を取得します。次に、結果を html テーブルに吐き出します。テーブル内の行は、データベースから取得された順序で並べ替えられます。データが最高の $average から最低に表示されるようにテーブルを並べ替えようとしています (ただし、最初の列の正しいテキスト値に正しく関連付けられています)。

私はいくつか試してみましasortforeachが、私は混乱したエラーを作ることにしか成功しませんでした.

これについてどうやって行くかについてのアイデアはありますか?ありがとう。

現在のプレイ状況は次のとおりです。

/ db query
  if (!$result = mysqli_query($link,"SELECT quiz_name, 
                                            quiz_attempts, 
                                            cumulative_score 
                                       FROM scoredata")) {
  echo("There was a problem: " . mysqli_error($link));
  exit();
  }
...
// got results?
  if(mysqli_num_rows($result) >= 1) {

  $output = "";
  $output .= "<table>\n";
  $output .= "<tr><th>Quiz name</th> <th>Played</th> <th>Avg. score</th></tr>\n";

  while($row = mysqli_fetch_array($result)) {

    $output .= "<tr><td>".str_replace('_', ' ', $row['quiz_name']) . "</td>";
    $output .= "<td>" . $row['quiz_attempts'] . "</td>";

    // calculate average score
    $average = $row['cumulative_score']/$row['quiz_attempts'];

    $output .= "<td>" . round($average,2) . "</td></tr>";
   }

  $output .= "</table>\n";
  echo $output;
}
...
4

3 に答える 3

1

あなたはできる

  • データベースにソートをさせます(他のポスターで提案されているように)
  • 自分でデータをソートします(あなたがやろうとしているように)
  • ユーザーが JavaScript 関数を介してデータを並べ替えられるようにします。私のお気に入りは http://www.javascripttoolbox.com/lib/table/です
于 2013-11-11T21:36:29.280 に答える