我正在爲網站創建高級搜索功能,並且幾乎完成,我只有一個主要問題。 我匹配的房間是這樣的:MySQL - 如果輸入爲空,則返回所有值
AND Rooms=" .$_SESSION["room"] ."
,並試圖以此爲好:
AND (Rooms=" .$_SESSION["room"] ." OR Rooms IS NULL)
但問題是,如果用戶不插入在房間裏輸入任何值也不會顯示任何房間。如果我在房間輸入中插入「8」,如果沒有匹配,則使用IS NULL代碼,它將顯示來自數據庫的所有值。 我不想根據需要進行輸入。
我只是需要與MySQL的解決方案爲在該字段爲空返不使用這一切都值:
if ($_SESSION["room"]==NULL) {}
else{}
全面查詢:
`SELECT * FROM secret WHERE secretIDName='1' AND NatureTypeIDName LIKE '%" .$_SESSION["nature"] ."%' AND (NettArea>="
.$_SESSION["NettArea"] ." OR NettArea IS NULL) AND ConditionTypeIDName LIKE'%" .$_SESSION["lifestyle"]
."%' AND ((SUBSTRING_INDEX(SUBSTRING_INDEX(BusinessTypeValues,'|',4),'|',-1)>="
.$_SESSION["BusinessTypeValuesMin"]
." AND SUBSTRING_INDEX(SUBSTRING_INDEX(BusinessTypeValues,'|',4),'|',-1)<="
.$_SESSION["BusinessTypeValuesMax"]
.") OR SUBSTRING_INDEX(SUBSTRING_INDEX(BusinessTypeValues,'|',4),'|',-1) = '') AND (SUBSTRING_INDEX(SUBSTRING_INDEX(BusinessTypeValues,'|',2),'|',-1)='"
.$_SESSION["BusinessTypeValuesType"]
."' OR SUBSTRING_INDEX(SUBSTRING_INDEX(BusinessTypeValues,'|',2),'|',-1)='') AND GarageArea>="
.$_SESSION["GarageArea"]
." AND (LocationIDName LIKE '%"
.$_SESSION["zone1"]
."%' AND LocationIDName LIKE '%"
.$_SESSION["zone2"]
."%' AND LocationIDName LIKE '%"
.$_SESSION["zone3"]
."%') AND (Rooms="
.$_SESSION["room"]
.") LIMIT "
.($page-1)*$Page
.", " .$Page ."";`
發佈完整的查詢,請 –
應用首先檢查'如果(空( '$ _ SESSION [ 「室」]')!){和房間=」 $ _ SESSION [ 「房間」]; 「} –
如果$ _SESSION [」room「]爲空,請勿添加Rooms條件。 –