2014-10-11 23 views
1

我的意思是我有2個表,一個是插座表,第二個是他們註冊的課程表。課程表的 防爆隱藏mysql中存在的元素

------------------------ 
id_estudent id_course 
------------------------ 
| 1   | 2 
| 1   | 3 
| 2   | 2 
------------------------ 

如果我有10門不同的課程,我想知道如何表達一個checbox註冊到新的課程,當然一個複選框,但只能說明學生沒有註冊課程,而不是顯示他所註冊的課程。

例如,如果學生號碼1註冊了課程二和三顯示一,四,五......的Checbox但不是兩個和三個 如果學生選中一個或多個複選框,到mysql表。

回答

3

你可以收集的已註冊課程的第一ID,然後使用NOT IN語句來排除這些課程:

SELECT * FROM full_courses WHERE id NOT IN (SELECT id_course FROM courses WHERE id_estudent = $estudent_id)

哪裏full_courses是表的課程,courses表註冊課程estudents(同表格),$estudent_id是你想要顯示課程的學生的ID。