簡體   English   中英

對於每個SQL結果,是否還有另一個SQL查詢? 在PHP中

[英]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']."&euro;</span><span class='prize-pool'>Prize pool: &euro;</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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM