我似乎无法弄清楚如何从查询中获取结果并在另一个查询中使用它们。为了简单起见,我只会说我有一个名为 saving_players 的表,并且设置如下..
Username playername
user1 player1
user1 player2
user2 player1
user1 player3
user3 player1
这是我用来仅为登录用户回显所有这些信息的查询。
$query = "SELECT * FROM saved_players WHERE username = '".$_SESSION['login']."'";
$result = $conn->query($query);
if (mysqli_num_rows($result) > 0) {
// output data of each row
while($row = mysqli_fetch_assoc($result)) {
echo "
<table class='tablebox' width='300' border='0' cellspacing='0'>
<tr>
<td width='200' style='color: #4f4e4e; font-size: 19px;'>". $row["[playername"]."</td>
</tr>
</table>";
}
}
?>
如果用户“user1”登录,这当然会显示
player1
player2
player3
如何使用这些名称运行新查询?所有这一切的最终目标是从结果中获取每个玩家的姓名(在本例中为玩家 1、玩家 2 和玩家 3)并运行与此类似的查询
$query= "SELECT COUNT(playername) AS Totalnumber FROM saved_players WHERE playername = '' ";
我正在尝试计算所有用户将这些玩家添加到表 saving_players 中的次数,并将该数字除以我拥有的成员数量。但我只需要为登录用户添加到 saving_players 的玩家执行此操作。当然希望这对帮助有任何意义,我们将不胜感激!
最佳答案
使用此查询:-
$query = "SELECT *,(SELECT COUNT(playername) FROM saved_players as tab1
WHERE tab1.playername = tab1.playername)
AS Totalnumber FROM saved_players as tab2
WHERE username = '".$_SESSION['login']."'"
像这样的Mysql查询:-
SELECT *,(SELECT COUNT(playername) FROM saved_players as tab1
WHERE tab1.playername = tab1.playername)
AS Totalnumber FROM saved_players as tab2
WHERE username = 'user1'
关于php - 如何从第一个选择查询结果集中多次运行选择查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33274467/