Php Foreach在where语句的内部?
我有一个数据库,我试图显示前20名球员在我的游戏服务器。我正在从我的数据库中检索所有20个人,但我想显示他们的姓名以及他们拥有的“点数”。我的问题是,在显示前20名的表中,它没有显示他们最后一个已知的别名,然后我需要在另一个表中搜索Php Foreach在where语句的内部?,php,mysql,pdo,Php,Mysql,Pdo,我有一个数据库,我试图显示前20名球员在我的游戏服务器。我正在从我的数据库中检索所有20个人,但我想显示他们的姓名以及他们拥有的“点数”。我的问题是,在显示前20名的表中,它没有显示他们最后一个已知的别名,然后我需要在另一个表中搜索客户机,以将玩家ID与最后一个已知的别名匹配,但如何在客户机上进行foreach,以将所有20名玩家与其别名匹配,它将只返回foreach查询中显示的第一个别名 查询前20名球员- $query = " SELECT * FROM `xlr_play
客户机
,以将玩家ID与最后一个已知的别名匹配,但如何在客户机
上进行foreach,以将所有20名玩家与其别名匹配,它将只返回foreach查询中显示的第一个别名
查询前20名球员-
$query = "
SELECT *
FROM `xlr_playerstats`
ORDER BY `xlr_playerstats`.`kills` DESC
LIMIT 0 , 20
";
try
{
$stmt = $b3->prepare($query);
$stmt->execute();
}
catch(PDOException $ex)
{
die("Failed to run query: " . $ex->getMessage());
}
$rows = $stmt->fetchAll();
然后返回“客户端id”,我需要该id来交叉引用clients
表中最后一个已知别名。然后,我尝试对所有这些ID执行foreach查询以获取别名,但它只返回foreach中的第一个循环
foreach($rows as $row):
$query = "
SELECT *
FROM `clients`
WHERE id = ".$row["client_id"]."
";
try
{
$stmt = $b3->prepare($query);
$stmt->execute();
}
catch(PDOException $ex)
{
die("Failed to run query: " . $ex->getMessage());
}
$names = $stmt->fetch();
endforeach;
我如何使用foreach返回一个成功的查询,其中包含我所有20个客户机的别名“?我想您需要使用联接
SELECT *
FROM `xlr_playerstats`
INNER JOIN `clients` ON `clients`.`id` = `xlr_playerstats`.`client_id`
ORDER BY `xlr_playerstats`.`kills` DESC
LIMIT 0 , 20
我想你想用join
SELECT *
FROM `xlr_playerstats`
INNER JOIN `clients` ON `clients`.`id` = `xlr_playerstats`.`client_id`
ORDER BY `xlr_playerstats`.`kills` DESC
LIMIT 0 , 20
您可能想要sql
JOIN
。您可以提供表结构和一些虚拟数据。联接很有用,但可能有一种更简单的方法。您可能希望使用sqlJOIN
。您可以提供表结构和一些虚拟数据。联接是有用的,但可能有更简单的方法。