[英]Can I randomly select a row from one table and use a static identifier to select corresponding data in another table?
[英]How can I use a variable from one table as a SELECT parameter for another table in php
所以我有一個用電子郵件地址注冊自己的用戶。 這保存在用戶表中。 現在,該用戶可以使用日歷預訂系統預訂課程(他們必須再次手動輸入電子郵件地址),並且此數據存儲在預訂表中。 現在的問題是,我想顯示特定用戶進行的所有預訂,通過他們的電子郵件地址進行選擇(可以
echo $userRow['email'];
可以正常工作,並顯示登錄用戶的正確電子郵件地址。 現在如何根據該電子郵件地址選擇預訂? 我已經嘗試過這樣的事情:
$relevantEmail = $userRow['email'];
$get_booking = mysql_query("SELECT date, start
FROM bookings
JOIN users
ON bookings.email = '$relevantEmail' " );
while($row = mysql_fetch_row($get_booking))
{
echo $row[0] . " " . $row[1] ;
echo "\r\n";
}
但這以某種方式輸出了非常奇怪的結果-僅預訂了3個課程並將其分配給3個用戶-每個用戶獲得每個課程
一些類似的東西:
喬-1級
刺-1級
喬什-班1
喬-2級
刺-2級
喬什-類2
喬-3級
刺-3級
喬什-班3
請幫忙
由於您沒有使用Users
做任何事情,因此刪除聯接,而只需使用WHERE
:
$get_booking = mysql_query("SELECT date, start
FROM bookings
WHERE bookings.email = '$relevantEmail' " );
請注意,mysql_ *函數已在PHP7中刪除,並在以前的版本中已棄用。 切換到PDO或mysqli,並利用准備好的語句和參數綁定。 這將阻止您進行SQL注入。
@aynber似乎無法為您添加標簽...是的,將JOIN更改為WHERE可以完成工作,只是發現我在前面的代碼中有一點不匹配,因此無法按預期工作。 現在就像魅力一樣,非常感謝
嗨,好友,無需使用聯接查詢
$sql=mysql_query("select * from bookings where email_id = (select email_id from login where email_id = '$relevantEmail')");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.