我想根据另一个表中的内容从一个表返回数据


I want to return data form a table depending on whats in another table?

我有一个表passenger_table和表users

passenger_table

user_id  j_id
1          1
34         1
54         1

用户

user_id  Firstname  Lastname
1         Patrick    Connell    
34         John       Murphy
54         Connell    Jones

我知道这可能已经足够直接了,但我只想循环出旅程id为1的所有用户的名字和姓氏。

因此,输出将是上面提到的3个用户的名字和姓氏。

这就是我到目前为止得到的。。。。。

//Get passenger id
$id = $_GET['id'];
$resultp = mysql_query("SELECT * FROM passenger_journey WHERE j_id=$id")
or die(mysql_error()); 
$rowp = mysql_fetch_array($resultp);
$passenger_id = $rowp['user_id'];

//Get Passenger Details
$resultpd = mysql_query("SELECT * FROM users WHERE user_id=$passenger_id")
or die(mysql_error()); 

while($rowpd = mysql_fetch_array($resultpd)) {
    echo '<a href="profile.php?id=' . $rowpd['user_id'] . '">' . $rowpd['firstname'] . ' ' . $rowpd['lastname'] . '</a><br/>';
}

目前我只能检索到一条记录。

您应该在关联ID上联接表。点击此处了解有关表联接的更多信息:http://dev.mysql.com/doc/refman/5.0/en/join.html

SELECT u.user_id, u.firstname, u.lastname, p.j_id 
FROM users u 
LEFT JOIN passenger_table p ON p.user_id=u.user_id 
WHERE p.j_id=1;