Здравствуйте Гость!


Запомнить.
Авто. вход.
Забыли пароль?
Регистрация

ПОДПИСКА Подписавшись по E-mail, Вы будете получать уведомления о новых статьях к себе на почту.
Подписатся на почтовую рассылку на сайте astranar.ru
Подписаться



ДОБАВЛЯЙТЕСЬ В ДРУЗЬЯ Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте на стене моего аккаунта.
Мой аккаунт Вконтакте
Мой аккаунт
Главная - PHP - Вывод из базы данных информации отсортированной по параметрам


Вывод из базы данных информации отсортированной по параметрам


Сортировка массива данных по убыванию и возрастанию

Наверняка вы на многих сайтах видели списки чего-нибудь. Будь то список футбольной команды или же время отправления поездов с вокзала. И наверняка вы видели что эти списки можно сортировать по определенным критериям, к примеру есть список футбольной команды с полями
|№ игрока|Амплуа|Имя игрока|количество забитых мячей в сезоне| Допустим что стандартная сортировка это по № игрока и игроки идут при загрузке страницы так:
1
3
5
6
8
9
33
36
43
как видим тут идет сортировка по возрастанию и но нам нужно сделать чтоб сортировка номеров футболистов шла по убыванию то есть от большего к меньшему, для этого мы будем передавать параметр в SQL запросе через строку браузера, методом GET Существует два параметра сортировки по возрастанию и по убыванию.
ASC – по возрастанию и DESC – по убыванию

Но нам нужно задать переменную:

if(empty($_GET['sort'])){
$sort='DESC';// это значит что стандартно у нас сортировка идет по убыванию
}else{
$sort = $_GET['sort'];// Принимаем параметр из строки в браузере
$sort = htmlspecialchars($sort);// Избавляемся от возможных попыток вставки html тегов вместо параметра в строке браузера, мало ли кто-что вставит.
}

И в SQL запросе мы будем делать так:
"SELECT * FROM `table` ORDER by `number` $sort" - Этот запрос вытащит нам данные из таблицы table отсортированные по убыванию, чтобы нам к примеру сделать сортировку данных по возрастанию то нам нужно через метод GET передать значение переменной, а делается это через обычную ссылку:
Делаем такую ссылку - <a href='page.php?sort=ASC'>по возрастанию</a>
потом принимаем данные и по условию описанном выше у нас переменная $sort принимает другое значение.
Ну и в конечном итоге у нас получилась вот такой код:
//тут файл подключения к базе данных, думаю ясно как он создается, к примеру:
require("database.php");
if(empty($_GET['sort'])){
$sort='DESC';// это значит что стандартно у нас сортировка идет по убыванию
}else{
$sort = $_GET['sort'];// Принимаем параметр из строки в браузере
$sort = htmlspecialchars($sort);// Избавляемся от возможных попыток вставки html тегов вместо параметра в строке браузера, мало ли кто-что вставит.
}
$query_sort = mysql_query("SELECT * FROM `table` ORDER by `number` $sort");
$result_query_sort = mysql_fetch_array($query_sort);
echo"$result_query_sort[number_player]
<a href='page.php?sort=ASC'>по возрастанию</a>";
mysql_close(); //Всегда закрывайте соединение с базой данных, полезно для производительности.

И вот теперь уже у нас список будет выводится вот так:
43
36
33
9
8
6
5
3
1
Надеюсь вам все понятно, код хорошо прокомментирован, но если будут вопросы спрашивайте в комментариях.
Удачи.



Просмотров страницы: 9131
Урок добавлен: 03 Августа 2012

<<<Предыдущая статья

Копирование материалов разрешается только с указанием автора (Пальгов Олег) и индексируемой прямой ссылкой на сайт (https://astranar.ru/)!

Добавляйтесь ко мне в друзья ВКонтакте: https://vk.com/palgov_oleg. Если Вы хотите оценить меня и мою работу, то напишите на стене моего аккаунта ВКонтакте.

Если Вы не хотите пропустить новые материалы на сайте, то Вы можете подписаться на обновления:
Подписаться на обновления


Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Ещё статьи по php:
Работа с датами в php
Sql injection или sql инъекция.
Как сделать комментирование на своем сайте
Как передать несколько значений checkbox?


Комментарии (2)

Владислав Малиничев 27 Августа 2012 в 01:02
Тебя не бесят эти <br>? не легче сделать как у меня на сайте или русакова простой код...но надо просто заменять скобки в HTML сущности например &lt < , &gt; >!!!



Олег Пальгов 28 Августа 2012 в 00:47
Сайт в стадии разработки, я делаю.




Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.
Вывод из базы данных информации отсортированной по параметрам
Нельзя сдаваться не только после одного, но и после ста поражений.

Авраам Линкольн


Вступайте в группу!