我試圖讓基於多個複選框的查詢。(對於exapmle的電子商店)如何讓基於多個複選框MySQL查詢
複選框
<div id="car">
<label><input type="checkbox" value="red" >red</label>
<label><input type="checkbox" value="black" >black</label>
<label><input type="checkbox" value="blue" >blue</label>
</div>
<div id="brand">
<label><input type="checkbox" value="mazda" >mazda</label>
<label><input type="checkbox" value="bmw" >bmw</label>
</div>
查詢
$brand = $_POST['brand'];
$color = $_POST['color'];
$Query = "SELECT * FROM items WHERE brand IN ('" . implode("','", $brand) . "') and color IN ('" . implode("','", $color) . "')";
$QueryResult = mysqli_query($connection , $Query);
while($QueryRow = mysqli_fetch_assoc($QueryResult)){
?>
<div><p><?php echo $QueryRow['cost'];?></p></div>
<div><img src="<?php echo $QueryRow['img']; ?>"></div>
<?php
}
}
?>
此外,我有js腳本傳遞數組與值從複選框,但它不涉及到問題,這就是爲什麼我不發佈腳本。
問題:
如何避免錯誤如果顏色複選框尚未檢查?
任何想法?
您是否在物品表中添加了顏色列? –
Implode with quotes'「SELECT * FROM items where brand IN(''。'implode('','」,$ brand)。'')「;' – AbraCadaver
」顏色未檢查錯誤「是POST變量不有一個關鍵的顏色?回答這兩個問題,以便我可以做出更簡潔的答案。 –