Как создать страницу поиска с несколькими критериями, по которым необходимо проверить хотя бы критерии.
Структура таблицы
Я хочу создать форму поиска, где пользователь сможет искать по имени или по имени, полу или по имени, полу, местоположению или любой такой комбинации среди [имени, пола, местоположения]
Как спроектировать запрос?
Edit
Я не прошу проверить хотя бы один параметр имеет значение [js validation], я прошу запроса!
Я буду использовать подготовленный оператор mysqli !
Вы можете проверить, не является ли сообщение для определенного поля пустым, если оно не добавляет к запросу соответствующее предложение WHERE. Что-то в следующем виде:
$mysqli = new mysqli(...); $sql = 'SELECT * FROM table WHERE '; $where = array(); $values = array(); $types = ''; if (!empty($_POST['name'])) { $where[] = 'name = ?'; $values[] = $_POST['name']; $types .= 's'; } if (!empty($_POST['sex'])) { $where[] = 'sex = ?'; $values[] = $_POST['sex']; $types .= 's'; } ... $sql .= implode(' AND ',$where); $values = array_unshift($values, $types); $statement = $mysqli->prepare($sql); call_user_func_array(array($statement, 'bind_param'), $values); ...