所以我有一个由mysql数据库填充的联赛表,我要做的是,有一个箭头旁边的名字说明他们是否已经向上或向下移动的位置,因为之前的比赛,这很容易做到这与成员谁登录,但我怎么能实现这与表中的每个成员?我可以做下面的查询,找出他们在比赛前的积分榜上,只是通过再次运行下面的查询,但将case语句更改为case时r.t ort__id = '$chosentrack'-1,这将给我从比赛前的积分榜,但我如何将该表与当前积分榜进行比较??如果每个成员都向上或向下移动,则箭头向上或向下。
任何帮助都会很好,非常感谢。
$result = mysql_query(" SELECT m.member_id, m.teamname,
Sum(Case When r.track_id = '$chosentrack' AND r.track_id >= l.start_race
Then total_points Else 0 End) LastRacePoints,
Sum(Case When r.track_id <= '$chosentrack' AND r.track_id >= l.start_race
Then total_points Else 0 End) TotalPoints
FROM members m
Join members_leagues l
On l.member_id = m.member_id
Join member_results r
On r.member_id = m.member_id
Where l.league_id = '$chosenleague'
Group By m.member_id
Order By TotalPoints Desc, LastRacePoints DESC, m.teamname Desc ")
or die ("Error - could not display league");
$i = 0;
$found = false;
$team_position = 0;
while (!$found && $row = mysql_fetch_row($result)){
$i++;
if ($row[0] == $session_id){
$found = true;
$team_position = $i;
}
}
$rowsPerPage = 6;
$pageNum = ceil($team_position/$rowsPerPage);
if(isset($_GET['page'])){
$chosenpage = mysql_real_escape_string($_GET['page']);
$pageNum = $chosenpage;
}
$offset = ($pageNum - 1) * $rowsPerPage;
$counter = $offset + 1;
$result = mysql_query("SELECT m.member_id, m.teamname,
Sum(Case When r.track_id = '$chosentrack' AND r.track_id >= l.start_race
Then total_points Else 0 End) LastRacePoints,
Sum(Case When r.track_id <= '$chosentrack' AND r.track_id >= l.start_race
Then total_points Else 0 End) TotalPoints
FROM members m
Join members_leagues l
On l.member_id = m.member_id
Join member_results r
On r.member_id = m.member_id
Where l.league_id = '$chosenleague'
Group By m.member_id
Order By TotalPoints Desc, LastRacePoints DESC, m.teamname Desc " . "
LIMIT $offset, $rowsPerPage")
or die ("Error - could not display league");
echo "<table id='"subleaguetable'" cellpadding='"0'" cellspacing='"0'">";
echo "<tr><th width='"30px'" style='"text-align: center;'">Pos</th>";
echo "<th width='"200px'" style='"background-color: #f13740;'">Team</th>";
echo "<th width='"200px'" style='"text-align: center; background-color: #f13740;'">Points/Overall</th>";
echo "<th width='"100px'" style='"text-align: center; background-color: #f13740;'">Points/Last Race</th>";
echo "</tr>";
while($row = mysql_fetch_assoc($result)){
echo "<tr><td style='"text-align:center;'">";
echo $counter;
echo "</td>";
if($row['member_id'] == $session_id){
echo "<td style='"background-color:#e4212a; color:#FF9912;'">";
echo $row['teamname'];
echo "</td>";
}else{
echo "<td style='"background-color:#e4212a;'">";
echo $row['teamname'];
echo "</td>";
}
echo"<td style='" background-color:#e4212a; text-align:center;'">";
echo $row['TotalPoints'];
echo "</td><td style='" background-color:#e4212a; border-bottom:solid 1px #ca0811; text-align:center;'">";
echo $row['LastRacePoints'];
echo "</td></tr>";
}
$counter++;
}
echo "</table>";
您在查询中尝试过INTERSECT吗?