0

私は2つのテーブルを持っていusersますcoach_to_trainee. ユーザーは複数のコーチを持つことができ、データはcoach_to_traineecoach_idとに保存されますtrainee_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

JOIN次のように、mysql 句を使用する必要があります。

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 に答える