Sql checkbox search, который отображает список элементов, находящихся в моей базе данных
Я настраиваю страницу каталога, которая отображает различные тренировки в зависимости от того, что ищется через текстовое поле(которое работает) и/или флажки(не работает)
Я не знаю, возможно ли это без кнопки отправки, но я бы хотел, чтобы она искала элементы, а также позволяла ей искать несколько флажков
Я пытался искать в интернете помощь, но не могу найти ничего, что связано с моим проектом.
Что я уже пробовал:
РНР:
$sqlBrowse = "SELECT * FROM workoutLibrary WHERE name LIKE :findInName OR bodyPart LIKE :findInBodyPart OR muscleGroup LIKE :findInMuscleGroup OR equipment LIKE :findInEquipment ORDER BY name"; $searchTerm = ''; $search = '%'; if (isset($_POST['search'])) { $searchTerm = $_POST['search']; $search = '%' . $searchTerm . '%'; $stmt = $conn->prepare($sqlBrowse); $stmt->bindParam(":findInName", $search); $stmt->bindParam(":findInBodyPart", $search); $stmt->bindParam(":findInMuscleGroup", $search); $stmt->bindParam(":findInEquipment", $search); $stmt->execute(); // store results in array $exercises = $stmt->fetchAll(); } else if (isset($_POST['checklist'])) { $searchTerm = $_POST['checklist']; $search = '%' . $searchTerm . '%'; $stmt = $conn->prepare($sqlBrowse); $stmt->bindParam(":findInEquipment", $search); $stmt->execute(); $exercises = $stmt->fetchAll(); }
HTML:
<form action="directory.php" method="post"> <input type="checkbox" name="checklist[]" class="check" value="Dumbell"> Dumbbell<br> <input type="checkbox" name="checklist[]" class="check" value="kettlebell"> Kettlebell<br> </form> <div class="col-sm-10"> <h1 class="theTitle"> Workout Directory </h1> <div class="d-flex flex-wrap"> <?php foreach ($exercises as $exercise) { ?> <div class="card" id="workoutCard"> <div class="card-header"> <?= $exercise->name ?> </div> <div class="card-body"> <div class="thumbnail"> </div> <div class="info"> <a id="subTitle">Body Parts:</a> <?= $exercise->bodyPart ?><BR> <a id="subTitle">Muscle Group:</a> <?= $exercise->muscleGroup ?><BR> <a id="subTitle">Equipment Used:</a> <?= $exercise->equipment ?> </div> </div> </div> <?php } ?>
Моя панель поиска работает отлично, поэтому я не отображал html для нее.
Я новичок, поэтому не знаю, где я ошибся, например, когда два PDO выполняют операторы под одним именем.
Любая помощь или советы будут оценены по достоинству