[英]SQL / PHP SELECT everything if condition is not met
我的網頁上有兩個搜索參數(例如類型和位置)的輸入。 輸入參數后,PHP將搜索SQL數據庫並輸出滿足輸入參數的結果。
$sql = "
SELECT MainID
, MainName
, MainLocation
, MainType
FROM Main
WHERE MainType = 'typeIWant'
AND MainLocation = 'LocationIWant'
";
但是,當用戶僅選擇一個參數時,它應顯示僅滿足所選參數的所有結果。
就像是:
$sql = "SELECT MainID, MainName, MainLocation, MainType FROM Main WHERE MainType= 'typeIWant' AND MainLocation = '*' ";
除非這行不通。
它應該顯示所有滿足MainType的結果,而不管它們的MainLocation是什么。
怎么做?
下一行:
$sql = "SELECT MainID, MainName, MainLocation, MainType FROM Main WHERE MainType= 'typeIWant' AND MainLocation = '*' ";
正在搜索名為(或稱為)的MainLocation
*
如果只想在MainType
上搜索, MainType
應該執行以下操作:
$sql = "SELECT MainID, MainName, MainLocation, MainType FROM Main WHERE MainType= 'typeIWant' ";
您可以使用if statement
進行檢查,例如:
$sql = "
SELECT MainID
, MainName
, MainLocation
, MainType
FROM Main
WHERE MainType = 'typeIWant'
";
if (isset($_GET['MainLocation']) && $_GET['MainLocation'] != '') {
$sql .= " AND MainLocation = 'LocationIWant'"
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.