2011-07-19 30 views
0

目前,我在下面所做的代碼是僅顯示分配有tutor_id的課程的代碼。然而,我想要的是顯示沒有分配tutor_id的課程以及「沒有導師已被分配到本課程」。 Tutor_id是數據庫中的一個NULL變量。如何顯示帶/不帶空值的所有變量?

$arrItems = executeSelectQuery("SELECT * FROM course, category, tutor WHERE course.Category_id = category.Category_id AND course.Tutor_id = tutor.Tutor_id"); 

$totalDesign = executeSelectQuery("SELECT * FROM course, category, tutor WHERE course.Category_id = category.Category_id AND course.Tutor_id = tutor.Tutor_id"); 
$numrows = count($totalDesign); 

$arrItems = executeSelectQuery("SELECT * FROM course, category, tutor WHERE course.Category_id = category.Category_id AND course.Tutor_id = tutor.Tutor_id ORDER BY course.Course_name ASC LIMIT $offset, $rowsPerPage"); 

回答

0
SELECT * FROM course 
INNER JOIN category ON course.Category_id = category.Category_id 
OUTER JOIN tutor ON course.Tutor_id = tutor.Tutor_id 
ORDER BY course.Course_name ASC LIMIT $offset, $rowsPerPage 

外連接提供只是你以後的功能。所有 課程將在 Tutor_id字段中選擇一些含有空值的課程。確定何時在您的代碼中發生這種情況,並在這些場合打印 「沒有導師已被分配到此課程」。

+0

絕對適合我,謝謝:) – AmySunshines

0

(在導航頁面存儲)嘗試該

SELECT * FROM course, category, tutor WHERE course.Category_id = category.Category_id AND (course.Tutor_id = tutor.Tutor_id OR course.Tutor_id IS NULL) 
0

要獲得的無導​​師的課程一個單獨的列表:

$arrItems = executeSelectQuery("SELECT * FROM course WHERE Tutor_id is NULL");