比较PHP中的两个动态表


Comparing two dynamic tables in PHP

所以我有一个由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吗?