php - 如何从第一个选择查询结果集中多次运行选择查询?

标签 php mysql

我似乎无法弄清楚如何从查询中获取结果并在另一个查询中使用它们。为了简单起见,我只会说我有一个名为 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/

相关文章:

mysql - INSTR SQL 中的\n

mysql - 是否可以按行而不是按列显示数据?

mysql - 使用 Sql 子查询显示帖子

Python,如何按给定顺序将列表插入表列

php - CakePHP - 使用不同的数据源动态加载模型

PHPExcel 如何对从 mysql 表创建的整个文档应用对齐

javascript - 删除数据库中的上一行 单击按钮显示数据库中的下一行

java - Hibernate session - 如何使用原始 sql 插入并获取生成的 id?

php - 让 PHP 搜索一切

php - WooCommerce 获取订单商品单一价格(无数量乘法)