计算PHP中sql查询返回的实例数

时间:2014-02-01 05:03:57

标签: php mysql sql

我正在寻找一种方法来计算X队的结果发生次数以及Y队的结果发生次数。

示例

我有一张包含2009年至今的体育比赛结果的表格。 当选定的2支球队相互比赛时,用户可以查询数据库以检索所有结果。 结果显示在表中,如下所示: enter image description here

现在我正在寻找一种方法来计算两个选定球队之间的比赛总数,以及结果有多少时间(在此示例中)Stormers,以及结果的次数去了鲨鱼

是否可以在不更改表格表中的数据的情况下执行此操作?我一直试图想出一些解决上述问题的逻辑,但我很难过。

我的代码检索数据如下:

if($venue == "hometeam"){
        $result= " SELECT *
FROM `results`
WHERE `hometeam` = '$team1' && `awayteam` = '$team2'" or die(mysql_error());
    }

    else if($venue == "awayteam"){
        $result = " SELECT *
FROM `results`
WHERE `awayteam` = '$team1' && `hometeam` = '$team2'"or die(mysql_error());
    }

    else if($venue =="all"){
        $result = " SELECT *
FROM `results`
WHERE (`hometeam` = '$team1' AND `awayteam` = '$team1') OR (`hometeam` = '$team2' AND `awayteam` = '$team2')"or die(mysql_error());

    }

我的代码显示数据:

cho '<td>'.$row['gamedate'].'</td>';
        echo '<td>'.$row['hometeam'].'</td>';
        echo'<td>'.$row['awayteam'].'</td>';
            echo'<td>'.$row['homescore'].'</td>';
                echo'<td>'.$row['awayscore'].'</td>';
                if($row['homescore'] > $row['awayscore']){
                            echo'<td style="background-color:yellow">'.$row['hometeam'].'</td>';    
                }
                else echo'<td>'.$row['awayteam'].'</td>';

非常感谢任何帮助或建议。提前致谢

3 个答案:

答案 0 :(得分:0)

$rs = mysqli_query($link, "select * from results where result = \"Stormers\"");
$stormers = mysqli_num_rows($rs);

$rs = mysqli_query($link, "select * from results where result = \"Sharks\"");
$sharks = mysqli_num_rows($rs);

现在,变量$ stormers将显示与Stormers匹配的结果数量,而Sharks将与Sharks匹配结果。您也可以使用Count()MySQL函数而不是select,但我假设您可能希望从中获取更多数据,而不仅仅是稍后的数字。

答案 1 :(得分:0)

怎么样

SELECT `result`, COUNT(*) FROM `results` WHERE `hometeam` IN (`$team1`,`$team2`) AND `awayteam` IN (`$team1`,`$team2`) GROUP BY `result`

答案 2 :(得分:0)

我假设您正在迭代结果以生成表行。为什么不在你这样做的时候计算胜利?

$homeTeamWins = 0;
$awayTeamWins = 0;
$ties = 0;
while( $row = $result->fetch_object() ) {
    if( $row->homescore > $row->awayscore ) {
        $homeTeamWins++;
    } elseif( $row->homescore < $row->awayscore ) {
        $awayTeamWins++;
    } else {
        $ties++;
    }

    // output the html rows
}