如何显示来自特定数据库行中与特定值匹配的数据

问题描述 投票:0回答:1

我正在一个网站上工作,我和我的朋友们可以用来创建随机的团队,以供我们在CS:GO之类的视频游戏中进行团队对团队比赛时使用。我目前有一个带有用户表的mysql数据库。这张桌子上有他们的游戏玩家标签,他们所在的团队以及其他名称和电子邮件之类的信息。还有一个登录系统,因此每个人只能更改自己的团队。

我已经确定了团队选择部分并正在工作。当某人按下按钮时,其数据库行中的字段将更新为1或2。1代表团队1,2代表团队2。这一切正常。问题是他们按下按钮后,我想显示每个队友,但我无法正常工作。

我尝试使用while循环,问题在于页面上充满了Gamertags,因为它是while循环。这也是来自一个人而不是所有队友的游戏角色。

因此,我如何在数据库中显示每个具有lanteam = 1lanteam = 2值的游戏玩家标签。

这是我目前拥有的代码。运行此命令后,它会正确地将文本从第1队更改为您的队长是Martijn,而您的队长是Raoul(如果更新了他们的队)。只有玩家标签始终保持不变。它始终是表中最高的成员。他是团队1还是团队2也无关紧要。这可能确实很容易解决,但我无法弄清楚。

require '../includes/dbh.inc.php';
$sql = "SELECT lanteam, gamertag FROM users WHERE lanteam=1 OR lanteam=2";
$result = mysqli_query($conn, $sql);

if (mysqli_num_rows($result) > 0) {
        $row = mysqli_fetch_assoc($result);
        if($row["lanteam"] == 1){
            echo "You're member of team 1, your captain is Martijn";
            echo "<br>";
            echo "Your teammates: <br>";
            echo $row['gamertag'];
            echo "<br>";
        }else{
            echo "You're member of team 1, your captain is Raoul";
            echo "<br>";
            echo "Your teammates: <br>";
            echo $row['gamertag'];
            echo "<br>";
        }
}
php mysql
1个回答
0
投票

我找到了解决方法,

如果我像下面的代码那样执行,它将仅从数据库中拥有lanteam 1的人员输出游戏玩家标签。而且我可以使用else来输出第二支队伍的玩家标签。

require '../includes/dbh.inc.php';
$sql = "SELECT lanteam, gamertag FROM gebruikers WHERE lanteam=1";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
    echo "Je zit in team 1, je captain is Martijn";
    echo "<br>";
    echo "Je teamgenoten zijn: ";
    while (($data = mysqli_fetch_assoc($result)))
    {
        echo '<p class="rtg-teamgenoten">' . $data['gamertag'] . '</p>';
    }
}
mysqli_close($conn);
© www.soinside.com 2019 - 2024. All rights reserved.