подскажите как мне решить данную как для меня очень серьёзную и тяжолую задачу,
как мне провести сортировку выбранных данных без ajax всё на php+mysql
[PHP]
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";
$result = mysql_query($query) or die(mysql_error());
?>
Гостинница
0){?>
Номер |
Місто |
Назва |
Гостей |
Спальні |
Ціна |
while($row = mysql_fetch_assoc($result)): ?>
=$row['number']?> |
=$row['city']?> |
=$row['name']?> |
=$row['sleeper']?> |
=$row['bedroom']?> |
=substr($row['price'],0,30)?> |
endwhile; ?>
По вашему запросу, ничего не найдено.
[/PHP]
[PHP]
city;
$sleeper[] = $res->sleeper;
$bedroom[] = $res->bedroom;
$number[] = $res->number;
$name[] = $res->name;
$price[] = $res->price;
}
?>
Гостинница
// Подключение к MySQL
$con = mysql_connect("..........","...........","............");
if (!$con)
die('Could not connect: ' . mysql_error());
mysql_select_db(".............", $con);
$sql = mysql_query("SET CHARACTER SET cp1251_koi8");
$bed = "";
if(isset($_GET['bedroom']))
$bedrooms = "&bedroom=".$_GET['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');
// Если указаны неправильные данные - выход
if(!in_array($key, $key_array) or !in_array($sort, $sort_array))
exit('Неверный формат запроса!');
if(isset($_GET['price']) and (empty($_GET['v1']) or empty($_GET['v2'])))
exit('Пустой запрос!');
// Часть SQL-запроса - фильтр
$orderby = " ORDER BY $key $sort";
// Если кол-во лет заполнено - вводим его в mysql-запрос и добавляем в фильтры таблицы
if(!empty($_GET['v1']) and !empty($_GET['v2']))
{
$where = 'WHERE `bedroom` BETWEEN ' . $_GET['v1'] . ' AND ' . $_GET['v2'];
$values = '&v1=' . $_GET['v1'] .'&v2=' . $_GET['v2'];
}
elseif(!empty($_GET['bedroom']))
{
$where = 'WHERE `bedroom` = "' . $_GET['bedroom'] . '"';
$values = null;
}
else
{
$where = null;
$values = null;
}
// Запрос к БД
$query = "";
$query ="SELECT * from `users` $where $orderby";
$result = mysql_query($query) or die(mysql_error());
// Меняем сортировку для правильного вывода в таблице
$sort = $sort == 'asc' ? 'desc' : 'asc';
?>
Сортировка по умолчанию ( по номеру|по возрастанию )
По номеру
По цене
По вашему запросу, ничего не найдено.
[/PHP]
в этом мне не всё понятно а именно то что когда я подставляю эту часть кода
[PHP]
while($row = mysql_fetch_assoc($result)): ?>
=$row['number']?> |
=$row['city']?> |
=$row['name']?> |
=$row['sleeper']?> |
=$row['bedroom']?> |
=substr($row['price'],0,30)?> |
endwhile; ?>
По вашему запросу, ничего не найдено.
[/PHP]
вместо этой сортировка работает но не работает выборка,когда наоборот то и работает выборка не работает сортировка
как правельно написать код чтобы работала и выборка и сортировка,где и в чём мои ошибки?
[PHP]
$numArray ) { ?>
|
|
|
|
|
|
По вашему запросу, ничего не найдено.
[/PHP]
вот в этой части скрипта
[PHP]
city;
$sleeper[] = $res->sleeper;
$bedroom[] = $res->bedroom;
$number[] = $res->number;
$name[] = $res->name;
$price[] = $res->price;
}
?>
Гостинница
// Подключение к MySQL
$con = mysql_connect("............",".............","..............");
if (!$con)
die('Could not connect: ' . mysql_error());
mysql_select_db(".............", $con);
$sql = mysql_query("SET CHARACTER SET cp1251_koi8");
$bed = "";
if(isset($_GET['bedroom']))
$bedrooms = "&bedroom=".$_GET['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');
// Если указаны неправильные данные - выход
if(!in_array($key, $key_array) or !in_array($sort, $sort_array))
exit('Неверный формат запроса!');
if(isset($_GET['price']) and (empty($_GET['v1']) or empty($_GET['v2'])))
exit('Пустой запрос!');
// Часть SQL-запроса - фильтр
$orderby = " ORDER BY $key $sort";
// Если кол-во лет заполнено - вводим его в mysql-запрос и добавляем в фильтры таблицы
if(!empty($_GET['v1']) and !empty($_GET['v2']))
{
$where = 'WHERE `bedroom` BETWEEN ' . $_GET['v1'] . ' AND ' . $_GET['v2'];
$values = '&v1=' . $_GET['v1'] .'&v2=' . $_GET['v2'];
}
elseif(!empty($_GET['bedroom']))
{
$where = 'WHERE `bedroom` = "' . $_GET['bedroom'] . '"';
$values = null;
}
else
{
$where = null;
$values = null;
}
// Запрос к БД
$query = "";
$query ="SELECT * from `users` $where $orderby";
$result = mysql_query($query) or die(mysql_error());
// Меняем сортировку для правильного вывода в таблице
$sort = $sort == 'asc' ? 'desc' : 'asc';
?>
Сортировка по умолчанию ( по номеру|по возрастанию )
По номеру
По цене
По вашему запросу, ничего не найдено.
[/PHP]
и работает то выборка то сортировка,когда работает сортировка выборка остаётся в выпадающих списках как сделать чтобы работала и выборка и сортировка в этой таблице???