我正在尝试使其能够在所有事件中获得所有用户的tour_regid,但它仅选择数据库中的第一个条目,然后当我基于该regid加入两个表时,它仅显示一个条目。
关于如何获得所有用户的tour_regid的任何想法?

这是我目前拥有的:

   <?

    $stmt = $DB_con->prepare('SELECT tournament_regid, paid FROM tournament_registration WHERE userid= :session_id');
        $stmt->bindParam(':session_id', $_SESSION['user']['id']);
        $stmt->execute();
    while ($row = $stmt->fetch(PDO::FETCH_ASSOC))
    {
        $regid = $row['tournament_regid'];
        ?>

        <?
        $stmt = $DB_con->prepare("SELECT * FROM tournament_registration JOIN tournaments ON tournament_registration.tournament_regid = tournaments.tournamentid WHERE tournaments.tournamentid = :regid");
        $stmt->bindParam(':regid', $regid);
        $stmt->execute();
        while ($row = $stmt->fetch(PDO::FETCH_ASSOC))
    {

            ?>

        <h1> Event Name: <? echo $row['tournament_name'];?> </h1>
        <h1> Event Date: <? echo $row['tournament_date'];?> </h1>
        <h1> Event Time: <? echo $row['tournament_time'];?> </h1>
        <h1> Event Desc: <? echo $row['tournament_dec'];?> </h1>
        <h1> Paid: <? echo $row['paid'];?> </h1>
        <h1> <? echo $row[''];?> </h1>
        <a href="viewevent.php?event_id=<?php echo $row['tournament_regid'];?>"> VIEW Event Details  </a>
        <h1>
        <?php echo $regid;?>
        </h1>
        <?
    }
    }
        ?>


更新的SQL查询:现在的问题是,它看起来像获得了所有人的青睐吗?因为现在显示了大量数据。

<?
$stmt = $DB_con->prepare("

SELECT
   *
FROM
   users
INNER JOIN
    tournament_registration ON tournament_registration.userid = :userid
INNER JOIN
    tournaments ON tournaments.tournamentid = tournament_registration.tournament_regid
");
$stmt->bindParam(':userid', $_SESSION['user']['id']);
$stmt->execute();
while ($row = $stmt->fetch(PDO::FETCH_ASSOC))
{

        ?>

最佳答案

“选择
   tour_registration.tournament_regid

   使用者
内部联接
    Tournament_registration ON Tournament_registration.userid = users.userid
内部联接
    Tournaments.tournamentid = Tournament_registration.tournament_regid上的锦标赛


使用此更新的sql查询来实现

10-08 00:11