2014-10-11 83 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。