你需要數據透視表,涉及用戶的預訂:
CREATE TABLE user_bookings (id int PRIMARY KEY AUTO_INCREMENT, booking_id int, user_id int);
我通常最終會使用兩個查詢因爲它可以更好地構建數據。根據您的網站/應用程序的大小,您可以使用對象關係映射器,因爲它可以在內部爲您處理數據映射。
如果您只需要預約,你可以簡單地從樞軸表中選擇並加入預訂這樣
$bookingsql = "SELECT * FROM user_bookings JOIN bookings on bookings.id = user_bookings.booking_id where user_bookings.user_id =" . $_SESSION['loggedInUser'];
如果您需要的用戶信息也可以先選擇用戶,然後運行$bookingsql
查詢獲取預訂詳情。
$usersql = "SELECT * FROM users where id= " . $_SESSION['loggedInUser'];
,然後根據您所使用的框架/數據庫驅動程序,轉變$usersql
查詢結果到一個數組,稱爲$user
並與$bookingsql
查詢結果分配的預訂吧。
這也可以通過子查詢來實現,參見this question作爲示例,但將產品視爲您的用戶和類別作爲您的預訂。
你應該在這兩個表之間使用LEFT JOIN:http://www.tizag.com/mysqlTutorial/mysqlleftjoin.php – valicu2000 2015-02-08 18:25:03
你能給我一個例子嗎?請問我該如何使用它 – r93 2015-02-08 18:27:20
登錄用戶有一個預訂,或者用戶可以有多個預訂? – junkystu 2015-02-08 18:30:02