Поиск на сайте с выводом результатов из бд ( расширенный поиск)
Есть 4 поля куда человек вводит данные и при нажатие на кнопку должен выводиться результат(Название,автор,год, Под редакцией). При нажатие на кнопку "поиск" перебрасывает на "vendor/search.php" и выдаёт NULL. Собственно сама страница findpolz.php
<?php
session_start();
?>
<!DOCTYPE html>
<html lang="en">
<head>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
<link rel="stylesheet" type="text/css" href="style/style.css">
<link rel="stylesheet" type="text/css" href="search.js">
<script data-src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js">
< script src = "jquery-3.2.1.min.js" / >
</script>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Научно-справочная библиотека</title>
</head>
<body>
<h1>Пользователь: ____</h1>
<form name="search" method="POST" action="/vendor/search.php">
<div style="display:flex; flex-direction: row; justify-content: center; align-items: center">
<div class="info">
<label>Название:</label>
<input type="text" name="search[title]" />
</div>
<div class="info">
<label>Автор:</label>
<input type="text" name="search[author]" />
</div>
<div class="info">
<label>Год:</label>
<input type="text" name="search[year]" />
</div>
<div class="info">
<label>Под редакцией:</label>
<input type="text" name="search[compedit]" />
</div>
<div class="info">
<form action="findpolz.php">
<input type="submit" name="submitForm" value="Поиск" />
</form>
</div>
<div class="info">
<form action="vendor/logout.php">
<input type="submit" name="SubmitForm" value="Выход" />
</form>
</div>
</div>
<br>
</form>
<h3><u>Результаты поиска</u></h3><br />
<div class="table-responsive">
<table class="table">
<thead>
<tr>
<th>#</th>
<th>Название</th>
<th>Автор</th>
<th>Год</th>
<th>Под редакцией</th>
</tr>
</thead>
<tbody>
<?php
if (!$infprintedit) {
echo '<tr>No data found</tr>';
} else {
foreach ($infprintedit as $key => $value) {
?>
<tr>
<td>
<?php echo $key + 1; ?>
</td>
<td>
<?php echo $value['title']; ?>
</td>
<td>
<?php echo $value['author']; ?>
</td>
<td>
<?php echo $value['year']; ?>
</td>
<td>
<?php echo $value['compedit']; ?>
</td>
</tr>
<?php
}
}
?>
</tbody>
</table>
</div>
</body>
</html>
search.php
<?php
session_start();
require_once "connect.php";
$title = "";
$author = "";
$year = "";
$compedit = "";
$queryCondition = "";
if (!empty($_POST)) {
$submitForm = $_POST["submitForm"];
foreach ($_POST as $k => $v) {
if (!empty($v)) {
$queryCases = array("title", "author", "year", "compedit");
if (in_array($k, $queryCases)) {
if (!empty($queryCondition)) {
$queryCondition .= " AND ";
} else {
$queryCondition .= " WHERE ";
}
}
switch ($k) {
case "title":
if (!empty($_POST["search"]["title"])) {
$queryCondition .= " title LIKE '%" . $v . "%'";
}
break;
case "author":
if (!empty($_POST["search"]["author"])) {
$queryCondition .= " author LIKE '%" . $v . "%'";
}
break;
case "year":
if (!empty($_POST["search"]["year"])) {
$queryCondition .= " year LIKE '%" . $v . "%'";
}
break;
case "compedit":
if (!empty($_POST["search"]["compedit"])) {
$queryCondition .= " compedit LIKE '%" . $v . "%'";
}
break;
}
}
}
}
$sql = "SELECT `title`, `author`, `year`, `compedit` FROM infprintedit WHERE `title` = '$search[title]' AND `author` = '$search[author]' AND `year` = '$search[year]' AND `compedit` = '$search[compedit]'";
var_dump($result);
$result = mysqli_query($connect, $sql);
Источник: Stack Overflow на русском