2015-05-22 38 views
-1

首先,我是一名新手PHP開發人員。以其他方式從MySQLi中過濾數據

我正在開發一個網站,其中有一個包含員工記錄的數據庫。每一個被指定的ID,姓名,mobNo,地址等。

有與許多過濾器使用類似名稱過濾器,過濾器mobNo網站的過濾器面板...

我到底要,如果1過濾器選擇,PHP將處理僅有1 MySQLi的查詢是這樣的:

WHERE '$param' LIKE '%$paramValue%' 

如果用戶選擇2個過濾器,說姓名和mobNo,PHP應該處理2個查詢類似:

WHERE '$param' LIKE '%$paramValue%'AND '$param2' LIKE '%$paramValue2%'; 

鏈應該繼續.. 我會使用AJAX,但你不需要擔心它..我將自己整合它。

+0

http://stackoverflow.com/questions/767026/how-can-i-properly-use-a-pdo-object-for-a-select-query或http://stackoverflow.com/questions/27422784/multiple-sql-objects-in-php-mysqli – xQbert

回答

1

您應該使用isset()或其他任何方式來檢查用戶選擇的內容,然後顯示相應的查詢。

$query = "SELECT blabla WHERE "; 
$int = 0; //checks if query needs an 'AND' 

    if (isset(filter1)) { 
      $query += "$param1 LIKE $paramValue1"; 
      $int = 1; 
    } 
    if (isset(filter2)) { 
      if ($int = 1) 
      $query += " AND "; 
      $query += "$param2 LIKE $paramValue2"; 
      $int = 1; 
    } 

等。 不太確定這是你需要的,但希望它有這樣的東西。有創意:)

+0

布拉沃..!如果沒有你的幫助,我無法做到這一點。真的,敬禮! –

+0

@OnishGarg很高興能幫到你! – Mirodinho

0
$sql = "WHERE '$param' LIKE '%$paramValue%'"; 
if($param2 != '')$sql .= "AND '$param2' LIKE '%$paramValue2%'"; 
if($param3 != '')$sql .= "AND '$param3' LIKE '%$paramValue3%'"; 
... 

如果你想參數是模塊化的,你需要根據它們是否設置來添加它們。

+1

做出一些邏輯..如果我將這個想法與Amrito的另一個響應結合起來,我相信我會讓它解決。謝謝! –