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

时间:2013-12-06 01:19:49

标签: php mysql sql

我有一张表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

我知道这可能是直截了当的,但我只想循环出所有用户的firstnames和lastnames,其中的旅程id为=。

因此输出将是上面提到的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/>';
}

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

1 个答案:

答案 0 :(得分:2)

您应该在关联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;