簡體   English   中英

SQL / PHP如果不滿足條件,則選擇所有內容

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM