Php 如何显示与特定值匹配的特定数据库行中的数据
我正在开发一个网站,我和我的朋友可以用它来创建随机团队,当我们想在像CS:GO这样的视频游戏中进行团队对团队比赛时。我目前有一个mysql数据库和一个users表。在这张表中有他们的玩家代号,他们所在的团队,以及他们的名字和电子邮件等其他信息。还有一个登录系统,所以每个人都只能更改自己的团队 我已经弄清楚了团队选择的部分并开始工作。当某人按下按钮时,其数据库行中的字段将更新为1或2。1人代表1队,2人代表2队。这一切都很好。问题是,在他们按下按钮后,我想显示每个队友,但我无法让它工作 我尝试使用Php 如何显示与特定值匹配的特定数据库行中的数据,php,mysql,Php,Mysql,我正在开发一个网站,我和我的朋友可以用它来创建随机团队,当我们想在像CS:GO这样的视频游戏中进行团队对团队比赛时。我目前有一个mysql数据库和一个users表。在这张表中有他们的玩家代号,他们所在的团队,以及他们的名字和电子邮件等其他信息。还有一个登录系统,所以每个人都只能更改自己的团队 我已经弄清楚了团队选择的部分并开始工作。当某人按下按钮时,其数据库行中的字段将更新为1或2。1人代表1队,2人代表2队。这一切都很好。问题是,在他们按下按钮后,我想显示每个队友,但我无法让它工作 我尝试使用
while
循环,问题是页面上满是玩家代码,因为它是while
循环。这也是一个人的游戏代号,而不是他们所有的队友
简而言之,我如何在数据库中显示每个值为lantam=1
或lantam=2
的玩家代号
这是我目前拥有的代码。当它运行时,它会正确地将文本从第1组更改为第2组,您的队长是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>";
}
}
require'../includes/dbh.inc.php';
$sql=“从lanteam=1或lanteam=2的用户中选择lanteam、gamertag”;
$result=mysqli\u查询($conn,$sql);
如果(mysqli_num_行($result)>0){
$row=mysqli\u fetch\u assoc($result);
如果($row[“lanteam”]==1){
echo“你是第一队的成员,你的队长是Martijn”;
回声“
”;
回应“你的队友:
”;
echo$row['gamertag'];
回声“
”;
}否则{
echo“你是第一队的成员,你的队长是Raoul”;
回声“
”;
回应“你的队友:
”;
echo$row['gamertag'];
回声“
”;
}
}
我找到了解决方案
如果我像下面的代码那样做,它只输出数据库中拥有LANTEAM1的人的玩家代号。我可以使用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);
require'../includes/dbh.inc.php';
$sql=“从gebruikers中选择lanteam,玩家代号,其中lanteam=1”;
$result=mysqli\u查询($conn,$sql);
如果(mysqli_num_行($result)>0){
echo“我在一队,我的队长是Martijn”;
回声“
”;
echo“Je Teamgeneten zijn:”;
而($data=mysqli\u fetch\u assoc($result)))
{
echo'。$data['gamertag'].
;
}
}
mysqli_close($conn);
请阅读并编辑您的问题。您的查询将找到1组或2组中的所有用户。然后从该列表中获取第一行,并基于它进行输出。在AFAICT,这应该总是输出的不仅是同一个玩家代号,而且是同一个队长。