2017-02-05 22 views
0

我的SQL是工作正常,但我想請問如果我只會選擇或在這三個選項中選擇它仍將顯示查詢的一個放一個值。SQL查詢任一值的選擇選項

這裏是我的SQL

$sql = "SELECT * FROM tblAlumni WHERE yeargrad LIKE '$year' AND department LIKE '%$dept%' AND course LIKE '$kurs' AND alum_status LIKE 2"; 

,你可以看到有三個變量,在$年,$部門和$航向對接。

我想是,如果我只能選擇一個,好像只有$一年,但沒有選擇$部門和$航向對接,仍然能夠獲得查詢。請幫忙。謝謝

回答

0

我不太明白你的問題,但是這是我的理解:

使用MySQL或條件。此外,我修改了您的查詢,因爲您匹配年份和狀態,請使用相同的操作。

$sql = "SELECT * FROM tblAlumni WHERE yeargrad = '$year' OR department LIKE '%$dept%' OR course LIKE '%$kurs%' OR alum_status = 2"; 
+0

如果我只選擇一年。它會顯示所選年份的數據。沒有選擇兩個部門和課程。請如果你想澄清請評論不要直接回答 – lokis

+0

是的,那麼你只是使用OR條件。查詢將檢查$ year是否存在,它將只運行$ year的查詢。 它不是一個好的做法,只依賴於sql語法,您的php服務器端腳本使用if else篩選輸入,用於搜索功能。 –

+0

等待,但在這個SQL中的問題是,如果我選擇三個選擇選項的值,第一個地方只讀。例如:我選擇yeargrad = 2002,部門BSCS和課程BSIT。它顯示了2002年的所有年份 – lokis