Прежде всего вам нужно обернуть свои флажки в HTML-форму, которая будет отправлять данные в файл action.php
:
<h6 class="text-info">Select Color</h6>
<form action="action.php">
<ul class="list-group">
<?php
$sql = "SELECT DISTINCT exterior FROM newcars ORDER BY exterior";
$result = $conn->query($sql);
while($row=$result->fetch_assoc()) {
?>
<li class="list-group-item">
<div class="form-check">
<label class="form-check-label">
<input type="checkbox" class="form-check-input product_check" name="" value="<?= $row['exterior']; ?>" id="exterior"><?= $row['exterior']; ?>
</label>
</div>
</li>
<?php
}
?>
</ul>
<input type="submit" value="Filter" />
</form>
<div id="test">
...
Затем, в файл action.php
, вам необходимо пересмотреть ваш запрос SQL.В этот момент, когда вы объединяете базовую переменную $sql
с условием из условия if(isset($_POST['exterior']))
, запрос выглядит так:
SELECT * FROM newcars WHERE class !=''AND class IN( ...
делает его недействительным (обратите внимание, что между !=''
и AND
пробел отсутствует)).
Затем цикл while смешивает апострофы и кавычки, что делает код PHP недействительным.Это должно выглядеть так:
while($row=$result->fetch_assoc()){
$photo = base64_encode($row['photo']);
$output .= "<a href='newcarindex.php?id={$row['id']}'>
<div class='car'>
<tr>
<td>
<img src='data:image\jpeg;base64,{$photo}'/>
</td>
</tr>
<h2 class='car-name'>{$row['name']}</h2>
<span class='stock'>STOCK#{$row['stock']}</span>
<h3 class='car-msrp'>{$row['msrp']}</h3>
</div></a>";
}