Сортировка таблиц в PHP

Несколько примеров как вывести данные из БД в таблицу и добавить к ней возможность сортировки.

Итак, простой вывод таблицы и базы:

<?php
/* Запрос в БД */
$dbh = new PDO('mysql:dbname=db_name;host=localhost', 'логин', 'пароль');
$sth = $dbh->prepare("SELECT * FROM `tours` ORDER BY `hotel`");
$sth->execute();
$list = $sth->fetchAll(PDO::FETCH_ASSOC);
PHP

Вывод:

<table>
	<thead>
		<tr>
			<th>Заезд</th>
			<th>Отель</th>
			<th>Курорт</th>
			<th>Тип номера</th>
			<th>Питание</th>
			<th>Цена</th>
		</tr>
	</thead>
	<tbody>
		<?php foreach ($list as $row): ?>
		<tr>
			<td><?php echo $row['date']; ?></td>
			<td><?php echo $row['hotel']; ?></td>
			<td><?php echo $row['city']; ?></td>
			<td><?php echo $row['type']; ?></td>
			<td><?php echo $row['food']; ?></td>
			<td><?php echo $row['price']; ?> EUR</td>
		</tr>
		<?php endforeach; ?>    
	</tbody>
</table>
HTML

Результат:

Основной принцип пользовательской сортировки основан на GET параметрах, к ссылке в href добавляется параметр ?sort=xxx со значением текущей сортировки. PHP-скрипт его получает, проверяет и подставляет в SQL-запрос.

Далее рассмотрим его детально на нескольких примерах:

09.10.2020
5759

Комментарии 5

Uzbek No Uzbek No
15 октября 2020 в 14:47
0
Также напишите статью о php websocket
Uzbek No Uzbek No
15 октября 2020 в 14:54
0
как получить от 03.10.2020, от 02.10.2020, от 01.10.2020? Только один с даты
Галина Руднева Галина Руднева
4 марта 2021 в 21:41
0
Добрый вечер! Я попробовала сделать сортировку. Но тут указывается PDO, а у меня MySQL. Как можно сделать тоже самое только с подключением к MySQL? А то у меня БД возвращает нулевой результат....
Тилло Ташмухамедов Тилло Ташмухамедов
13 апреля 2021 в 17:22
0
Все варианта работаю отлично. Спасибо автору.
Тилло Ташмухамедов Тилло Ташмухамедов
21 апреля 2021 в 19:15
0
Третий вариант мне по нравился. Но как туда добавить фильтр? В смысле добавить к имеющейся сортировке....

, чтобы добавить комментарий.

Другие публикации

Сортировка по диапазону цен
Задача: получить из БД интернет-магазина товары в следующем порядке - сначала идут товары у которых цена составляет от 6 000 до 20 000 руб, далее все остальные в порядке возрастания цены.
3129
+1
Примеры использования PDO MySQL
В статье приведены основные примеры работы с расширением PHP PDO. Такие как подключение к БД, получение, изменение и...
61910
+2
CSS display table
CSS-свойство display table и другие, делают вывод группы элементов подобно таблице, но с ограничением – объединения ячеек colspan и rowspan не поддерживаются.
17003
+2
Выделение ячеек таблицы по клику
В продолжении статей о рамках у ячеек таблицы, сделаем их появление по клику с помощью JQuery.
7626
+3
Вывод списка по алфавиту
Представленные способы помогут сделать алфавитный список (указатель) разбитый на колонки, для вывода например станций метро, производителей, категорий и т.д.
4786
0
Сортировка в MySQL
В этой статье приведены примеры использования оператора ORDER BY для сортировки записей в MySQL.
15004
+5