<?PHP
$sql = "SELECT `city`, `sleeper`, `bedroom` FROM `users` group by `city`";
//создаем массивы для хранения городов, гостей, спален
// достаем из таблицы столбцы city, sleeper, bedroom и распределяем их по массивам
$city[] = $res->city;
$sleeper[] = $res->sleeper;
$bedroom[] = $res->bedroom;
}
// далее код отвечающий за сортировку в табице вывода
// Значения, полученные из формы для сортировки
$sort = isset($_GET['sort']) ?
$_GET['sort'] : 'desc'; $key = isset($_GET['key']) ?
$_GET['key'] : 'number';
// Разрешённые значения
$key_array = array('number', 'city', 'name', 'sleeper', 'bedroom', 'price'); $sort_array = array('asc','desc');
// Часть SQL-запроса - фильтр
$orderby = " ORDER BY $key $sort";
// Меняем сортировку для правильного вывода в таблице
$sort = $sort == 'asc' ? 'desc' : 'asc';
// далее код отвечающий за выбор из базы. зачем $values, я не понимаю
if(!empty($_POST['bedroom']) && !empty($_POST['city']) && !empty($_POST['sleeper'])) {
$where = "WHERE `bedroom` = '".$_POST['bedroom']."' and `city`='".$_POST['city']."' and `sleeper`='".$_POST['sleeper']."'";
$values = null;
}
else
{
$where = null;
$values = null;
}
$query = "SELECT * FROM `users` $where $orderby";
?>
<!--далее вывод формы с селектами-->
<h1>Гостинница</h1>
<h1 style="background-color:0000ff; padding:40px">
<form method="post">
<div style="float:left;margin-right:20px">
<select style= "width:200px;height:45px" name="city">
<option>Все города</option>
<?PHP foreach($city as $c){
if(isset($_POST['city']) && $_POST['city'] == $c){ ?>
<option value="<?PHP echo $c;?>" selected="selected"><?PHP echo $c;?></option>
<?PHP }else{?>
<option value="<?PHP echo $c;?>"><?PHP echo $c;?></option>
<?PHP }} ?>
</select>
</div>
<div style="float:left;margin-right:20px">
<select style= "width:200px;height:45px" name="sleeper">
<option>Все гости</option>
<?PHP foreach($sleeper as $s){
if(isset($_POST['sleeper']) && $_POST['sleeper'] == $s){ ?>
<option value="<?PHP echo $s;?>" selected="selected"><?PHP echo $s;?></option>
<?PHP }else{ ?>
<option value="<?PHP echo $s;?>"><?PHP echo $s;?></option>
<?PHP }}?>
</select>
</div>
<div style="float:left;margin-right:20px">
<select style= "width:200px;height:45px" name="bedroom">
<option>Все спальни</option>
<?PHP foreach( $bedroom as $b){
if(isset($_POST['bedroom']) && $_POST['bedroom'] == $b){ ?>
<option value="<?PHP echo $b;?>" selected="selected"><?PHP echo $b;?></option>
<?PHP }else{?>
<option value="<?PHP echo $b;?>"><?PHP echo $b;?></option>
<?PHP }} ?>
</select>
<input type="submit" name="sub" style= "background-color:red;width:200px;height:45px" value = "Подобрать">
</div>
</h1>
</form>
</div>
<div style="clear:both;"></div>
<div style="margin-top:40px;">
<!-- далее проверяем, если есть в выборке данные выводим таблицу иначе сообщение "По вашему запросу, ничего не найдено."-->
<table align= "center" border = 1>
<tr>
<th width='50'><a href="?key=number&sort=<?=$sort . $values?>">Номер</a></th>
<th width='50'><a href="?key=city&sort=<?=$sort . $values?>">Місто</a></th>
<th width='50'><a href="?key=name&sort=<?=$sort . $values?>">Назва</a></th>
<th width='50'><a href="?key=sleeper&sort=<?=$sort . $values?>">Гостей</a></th>
<th width='50'><a href="?key=bedroom&sort=<?=$sort . $values?>">Спальні</a></th>
<th width='50'><a href="?key=price&sort=<?=$sort . $values?>">Ціна</a></th>
</th></tr>
<tr>
<td><?=$row['number']?></td>
<td><?=$row['city']?></td>
<td><?=$row['name']?></td>
<td><?=$row['sleeper']?></td>
<td><?=$row['bedroom']?></td>
<td>
<?=substr($row['price'],0,30)?></td>
</tr>
<? endwhile; ?>
</table>
<?PHP }else{?>
<p>По вашему запросу, ничего не найдено.</p>
<?PHP }?>
</div>