Привет, ребята, я немного застрял в данный момент, в основном я пытаюсь выяснить, как я могу фильтровать мои SQL-запросы, но с небольшими проблемами понимаю, как это можно сделать.
В основном я перечисляю все «Делает» брендов, которые у меня есть на моем сайте, в форму. Я просто беру столбец из таблицы продуктов, содержащий каждый продукт.
Вот пример кода, это выбор PDO и MySQL:
<?php include('database.php'); try { $results = $db->query("SELECT Make, Model, Colour, FuelType, Year, Mileage, Bodytype, Doors, Variant, EngineSize, Price, Transmission, PictureRefs, ServiceHistory, PreviousOwners, Options, FourWheelDrive FROM import ORDER BY Make ASC"); } catch (Exception $e) { echo "Error."; exit; } try { $filterres = $db->query("SELECT DISTINCT Make FROM import ORDER BY Make ASC"); } catch (Exception $e) { echo "Error."; exit; } ?>
Я добавил DISTINCT к этому блоку кода, поскольку в столбце SQL есть дубликат «Make's».
Вот форма, так как вы можете видеть, что я использую цикл while, чтобы отображать каждый make в таблице в свой собственный вариант.
<form> <select class="form-control select-box"> <option value="make-any">Make (Any)</option> <?php while($make = $filterres->fetch(PDO::FETCH_ASSOC)) { echo ' <option value="">'.$make["Make"].'</option> '; } ?> </select> <button href="#" class="btn btn-block car-search-button btn-lg btn-success"><span class="glyphicon car-search-g glyphicon-search"></span> Search cars </button> </form>
Я использую этот код для отображения строк SQL в списке результатов:
<?php while($row = $results->fetch(PDO::FETCH_ASSOC)) { echo ' <div class="listing-container"> <a href="carpage.php"><h3 class="model-listing-title clearfix">'.$row["Make"].' '.$row["Model"].' '.$row["Variant"].'</h3></a> <h3 class="price-listing">£'.number_format($row['Price']).'</h3> </div> <div class="listing-container-spec"> <img src="'.(explode(',', $row["PictureRefs"])[0]).'" class="stock-img-finder"/> <div class="ul-listing-container"> <ul class="overwrite-btstrp-ul"> <li class="diesel-svg list-svg">'.$row["FuelType"].'</li> <li class="saloon-svg list-svg">'.$row["Bodytype"].'</li> <li class="gear-svg list-svg">'.$row["Transmission"].'</li> <li class="color-svg list-svg">'.$row["Colour"].'</li> </ul> </div> <ul class="overwrite-btstrp-ul other-specs-ul h4-style"> <li>Mileage: '.number_format($row["Mileage"]).'</li> <li>Engine size: '.$row["EngineSize"].'cc</li> </ul> <button href="#" class="btn h4-style checked-btn hover-listing-btn"><span class="glyphicon glyphicon-ok"></span> History checked </button> <button href="#" class="btn h4-style more-details-btn hover-listing-btn tst-mre-btn"><span class="glyphicon glyphicon-list"></span> More details </button> <button href="#" class="btn h4-style test-drive-btn hover-listing-btn tst-mre-btn"><span class="test-drive-glyph"></span> Test drive </button> <h4 class="h4-style listing-photos-count"><span class="glyphicon glyphicon-camera"></span> 5 More photos</h4> </div> '; } ?>
Мой вопрос заключается в том, как я могу использовать элемент выбора для фильтрации точного «Make», так, например, если строка SQL содержит тот же «Make», который был выбран пользователем, я хотел бы, чтобы вся строка отображалась в списке, а любая другие делают, чтобы не показывать.
Какие-нибудь примеры кода, как я могу это достичь?
благодаря