2015-06-28 65 views
0

我正在嘗試爲我的網上商店做一個過濾器。 我有以下查詢

$column = mysqli_query($link, "SELECT brand FROM shields WHERE 
brand=".$brand." ORDER BY id DESC LIMIT ".$offset. "," . $itemsPerPage); 

我想$brand等於123默認顯示在我的店裏每一個項目,當我過濾那就改變$brand123與此代碼

$brand = filter_input(INPUT_GET, 'brand', FILTER_VALIDATE_INT); 
+0

只是'品牌1和3'呢? – chris85

+0

編寫一個有條件附加where子句的存儲過程。 –

+0

如何在1和3之間使用品牌?我不能把$品牌= 1-3 – Alo

回答

0

你可以這樣:

if(isset($_POST["brand"])){ 
    $brand = $_POST["brand"]; // filter_input(INPUT_GET, 'brand', FILTER_VALIDATE_INT); 
    $filterByBrand = "and brand =".$brand; 
} 
else{ 
    $brand = "1,2,3"; 
    $filterByBrand = "and brand in(".$brand.")"; 
} 


$column = mysqli_query($link, "SELECT brand FROM shields WHERE 1=1 
".$filterByBrand." ORDER BY id DESC LIMIT ".$offset. "," . $itemsPerPage); 
+0

你的代碼工作,只有我用filter_input獲得$品牌。你爲什麼使用$ _POST,是以某種方式或某種方式更好? – Alo

+0

我很樂意提供幫助。 我沒有特別的理由,當然你可以使用filter_input。 – EntGriff

相關問題