0

我有两张桌子,userscoach_to_trainee。用户可以有多个教练,数据存储在coach_to_traineecoach_idtrainee_id.

我正在使用coach_to_trainee表格为用户打印数据,因此他/她可以简单地看到谁是他/她的教练。

<?php
              $user = $_SESSION['login']['id'];
              $q = "SELECT * FROM coach_to_trainee WHERE trainee_id='$user'";
              $coachid = $db->prepare($q);
              $coachid->execute();

              while($row = $coach->fetchObject()){
                $coachid = $row->coach_id;
                echo '<li><a href="?coach&id='.$coachid.'">'.INSERT_COACH_NAME.'</a></li>';
              }


              ?>

但是,这只会返回教练的 ID,我还需要从 table 返回名称users

我应该如何在内部进行另一个查询while()并使用 $coachid 找到正确的用户?

4

1 回答 1

0

你必须使用JOINmysql 子句,比如这个:

SELECT u.name, u.id 
FROM users u
    LEFT JOIN coach_to_trainee ctt
        ON u.id = ctt.coach_id 
WHERE ctt.trainee_id = {$user}

你应该完成这个;-)

然后在您的 PHP 中使用选定的值:

while($row = $coach->fetchObject()){
    echo '<li><a href="?coach&id='.$row->id.'">'.$row->name.'</a></li>';
}
于 2013-01-24T13:11:34.833 回答