2014-07-19 68 views
0

我已經在這幾天對我的大腦進行了大量的研究,並且對於'後端'相當新的東西,我還沒有設法想出一個表結構工作。我想要做的是創建一個願望列表功能,它允許用戶將課程保存到他們的個人資料中以備後用。最初,我在'用戶'表中創建了三個字段,分別命名爲'saved_course1','saved_course2'和'saved_course3'。然後,我試圖想出一個php/sql代碼,當用戶點擊課程頁面上的願望列表按鈕時,課程的ID保存到保存的課程字段之一(假定它尚未填充),但有人向我指出,這將是一個很糟糕的做法,這將意味着我的分貝不會被標準化。 因此,爲了總結我的問題,我需要幫助創建一個表格結構,允許用戶將多個課程ID保存到他們的帳戶,然後讓我獲得課程的ID並將其顯示在他們的個人資料頁面的表格中。對不起,如果這是沒有意義的,因爲我覺得很難把它說成文字。想要製作'願望清單'功能的最佳方法

+2

創建具有student_id數據和COURSE_ID列的新表;在這張新表格中插入您的學生的所有願望清單課程;然後在SELECT查詢中使用JOINS –

+0

幾乎任何時候,如果您決定將'record_id_1,record_id_2,record_id _...'添加到表以將一條記錄鏈接到許多其他記錄,那麼您正在做一些非常錯誤的事情。這不是數據庫設計工作的方式。 Mark Ba​​ker的建議是解決這個問題的正確方法。 – meagar

回答

2

這並不難,只需製作下面的表格結構即可。讓我知道如果你不明白它

爲特定的用戶實例

User(userid,name,etc) 
Courses(coursesid,name,fee, etc) 

WhishList(userid,coursesid) 
userid is foreign key to User, null not allowed 
coursesid is foreign key to Courses, null not allowed 

精華課程

select * from WhishList join courses on Whishlist.coursesid = Courses.coursesid where WhishList.userid = "USER_ID HERE"; 
+0

。 。如果您將'Taking_part'重命名爲'WishList',並向OP顯示如何爲特定用戶提取課程,我認爲答案會更清晰。 –

+0

感謝您的提示。 –