0
私の同僚は、SQLはそれは次の配列を出力選択一緒に入れている:彼はまた、結果をループに次のコードを提供mysqlの一人のユーザのための複数の行、ネストされたループ
Array
(
[0] => Array
(
[total_completion_time] => 163
[promotion_id] => 1
[challenge_id] => 1
[userId] => 2
[display_name] => laxadmin
[completion_time] => 163
[completion_time_mins] => 0
[completion_time_secs] => 0
[completion_time_mmss] => 0:0
[score] => 40
)
[1] => Array
(
[total_completion_time] => 345
[promotion_id] => 1
[challenge_id] => 1
[userId] => 1
[display_name] => siteadmin
[completion_time] => 345
[completion_time_mins] => 5
[completion_time_secs] => 45
[completion_time_mmss] => 5:45
[score] => 50
)
[2] => Array
(
[total_completion_time] => 345
[promotion_id] => 1
[challenge_id] => 1
[userId] => 3
[display_name] => mdeville
[completion_time] => 345
[completion_time_mins] => 0
[completion_time_secs] => 0
[completion_time_mmss] => 0:0
[score] => 0
)
[3] => Array
(
[total_completion_time] => 943
[promotion_id] => 1
[challenge_id] => 1
[userId] => 4
[display_name] => Matthew DeVille
[completion_time] => 163
[completion_time_mins] => 2
[completion_time_secs] => 43
[completion_time_mmss] => 2:43
[score] => 90
)
[4] => Array
(
[total_completion_time] => 943
[promotion_id] => 1
[challenge_id] => 3
[userId] => 4
[display_name] => Matthew DeVille
[completion_time] => 90
[completion_time_mins] => 1
[completion_time_secs] => 30
[completion_time_mmss] => 1:30
[score] => 30
)
[5] => Array
(
[total_completion_time] => 943
[promotion_id] => 1
[challenge_id] => 4
[userId] => 4
[display_name] => Matthew DeVille
[completion_time] => 90
[completion_time_mins] => 1
[completion_time_secs] => 30
[completion_time_mmss] => 1:30
[score] => 35
)
[6] => Array
(
[total_completion_time] => 943
[promotion_id] => 1
[challenge_id] => 5
[userId] => 4
[display_name] => Matthew DeVille
[completion_time] => 300
[completion_time_mins] => 5
[completion_time_secs] => 0
[completion_time_mmss] => 5:0
[score] => 30
)
[7] => Array
(
[total_completion_time] => 943
[promotion_id] => 1
[challenge_id] => 6
[userId] => 4
[display_name] => Matthew DeVille
[completion_time] => 300
[completion_time_mins] => 5
[completion_time_secs] => 0
[completion_time_mmss] => 5:0
[score] => 20
)
)を
と次のヘッダーを含むテーブルを作成します。
user | 挑戦1回| 挑戦2回| 挑戦3回| 挑戦4回| 挑戦5回| 挑戦6回| 挑戦7時間|合計時間: |
<?php
for ($x=0; $x < $results_length; $x++) {
$row = $results[$x]; // get next row from results
$userId = $row["userId"]; // get userId from row
// by default, we'll expect to continue to build UI display for current user
$beginNewUserDisplay = false;
if ($userId !== $currentUserId) {
// if not first user, we need to close the current table row
if ($currentUserId != -1) {
// if we haven't filled in one table cell for each possible result
// do that now...
while ($challengesCtr <= $TOTAL_CHALLENGES_CT) {
// this means we're missing results we need
// to properly display the table so we add in blank cells
echo "<td></td>";
$challengesCtr = $challengesCtr+1;
}
// display total time
// TODO: verify this is the correct display value
echo "<td>".$row["total_completion_time"]. "-" .$row['userId']."</td>";
echo "</tr>";
}
// Regardless, we need to start a new table row
// no more results for previous user, starting UI display for new user
$currentUserId = $userId;
$beginNewUserDisplay = true;
// reset the results counter
$challengesCtr = 1;
}
if ($beginNewUserDisplay == true) {
// start UI for new User's results
echo "<tr>";
echo "<td>".$row['userId']."</td>";
echo "<td>".$row['display_name']. "-" .$row['userId']."</td>";
} else {
// continue UI for current User's results
$challengeId = $row["challenge_id"];
while ($challengesCtr < $challengeId) {
// if this executes it means we're missing results
// we need to properly display the table so we add in blank cells
echo "<td></td>";
$challengesCtr = $challengesCtr+1;
}
// echo table cell current challenge time here
// TODO: verify this is the correct display value
echo "<td>".$row['completion_time_mmss']."</td>";
// increment our results counter
$challengesCtr = $challengesCtr+1;
}
}
?>
問題は、ループが最初のユーザーのデータの大部分をスキップし、テーブルに最後の2つの列がないことです。 http://65.242.11.205/leaderboard/
が、私は通常、ネストされたループを把握することができますが、これは私が麻痺しています
あなたはここで結果を見ることができます。
$ TOTAL_CHALLENGES_CTは何ですか? –
あなたのリンクは機能せず、正確に何を表示しようとしていますか、テーブルのすべてのデータですか? –