<?php
$filter_city = $_POST['filter-select'];
$filter_class = $_POST['filter-class'];
include 'scripts/connect_db.php';
$strSQL = "SELECT * FROM buildings WHERE city = '".$filter_city."' AND object_class ='".$filter_class."' ORDER BY RAND()";
$rs = mysql_query($strSQL);
while($row = mysql_fetch_array($rs)) {
echo $row['object_name'].$row['object_class'].'<br>';
}
mysql_close();
?>
Есть несколько объектов у которых есть класс Бизнес, Эконом и Комфорт.
Если выбрать в filter-class
(это select
) класс Бизнес, то страница result.php
выведет все объекты с классом Бизнес. Так же и с Эконом. Как сделать выборку всех объектов если в filter-class
выбрать все
?
<select name="filter-class">
<option selected disabled>Класс</option>
<option>Все</option>
<option value="Бизнес">Бизнес</option>
<option value="Комфорт">Комфорт</option>
<option value="Эконом">Эконом</option>
</select>
Скорее всего надо сделать так:
В значение Все
тоже добавить value
, например all
. В файле result.php
надо подправить запрос.
$filter_class = $_POST['filter-class'];
$where_add = '';
if ($filter_class != 'all')
$where_add = ' AND object_class ="'.$filter_class.'"';
include 'scripts/connect_db.php';
$strSQL = "SELECT *
FROM buildings
WHERE city = '".$filter_city."'
{$where_add}
ORDER BY RAND()";
В чем смысл: если прилетает значение all
, то в качестве $where
подставляется пустота и выбираются все марки, в ином же случае в запрос будет добавлена строка AND object_class ='".$filter_class."
, за счет чего выберутся авто с определенной маркой.
P.S. Хочу заметить, что скорее всего БД у вас не приведена к нормальной форме, т.к. в select
у вас хранятся значения классов авто, а должны бы численные значения. Поэтому настоятельно рекомендуется сделать нормализацию таблиц.
P.P.S. Также смею сообщить, что напрямую вставлять значения в запрос нельзя. Следует пользоваться подготовленными выражениями и расширением mysqli/PDO
для работы с БД
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Есть блоки, которые надо красиво расположить, я использовал flex, но у меня после перевода на новую строку остается место пустое, а надо чтобы...
Нажимаю на кнопку и нужно обработать это событие в jquery
Решил добавить смайлики на сайт по вот этому примеру https://myrusakovru/php-comments-smile