我有两个表,users
和coach_to_trainee
。用户可以拥有多个教练,数据存储在coach_to_trainee
列coach_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,我还需要从表users
返回该名称。
我应该如何在while()
内进行另一次查询并使用$ coachid查找正确的用户?
答案 0 :(得分: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>';
}