[英]For each SQL result, another SQL query? in PHP
我需要有关从MySQL数据库获取数据的帮助。 现在我有一个查询,给我:
比赛编号
比赛名称
比赛报名费
比赛开始和结束日期
对于我已注册的锦标赛。 现在,我想针对我已注册的每个锦标赛计算该锦标赛中有多少用户,该锦标赛中的积分等。
该信息在称为“阶梯”的表中
梯子编号
阶梯点
阶梯用户
阶梯比赛
数据库: http : //prntscr.com/99fju1
用于显示锦标赛的PHP代码:
<?php
include('config.php');
$sql = "SELECT distinct tournaments.idtournament, tournaments.name, tournaments.entryfee, tournaments.start, tournaments.end
from tournaments join ladder
on tournaments.idtournament= ladder.tournamentFK and ladder.userFK=".$_SESSION['userid']."
group by tournaments.idtournament";
$result = $conn->query($sql);
if($result->num_rows > 0){
while($row = $result->fetch_assoc()) {
$tournament="<li class='registered' data-id=".$row['idtournament']." data-entryfee=".$row['entryfee']." data-prize=".$tournamentPrize."><span class='name'>".$row['name']."</span><span class='entry-fee'>Entry fee: ".$row['entryfee']."€</span><span class='prize-pool'>Prize pool: €</span><span class='date-end'>".$row['start']."-".$row['end']."</span><span class='btns'><button>Standings</button></span></li>";
echo $tournament;
}
}
$conn->close();
?>
通常,您可以在查询中组合JOIN,COUNT()和GROUP BY。
一些示例: MySQL联接和来自另一个表的COUNT(*)
我想这将是查询。如果列和表名称不正确,请更改它。 未经测试,但我敢肯定,这会给您一些想法,以进行所需的查询
select count(ladder.tournamentId)as userCount,tournaments.name
from
ladder left join tournaments
on ladder.tournamentId = tournaments.id
where ladder.tournamentId in
(
select tournaments.id from
tournaments left join ladder
on ladder.tournamentId = tournaments.id
where ladder.userId='yourId'
) and ladder.userId <> 'yourId'
group by ladder.tournamentId
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.