<MyRusakov.ru />

Создание движка на PHP и MySQL 2.0

Создание движка на PHP и MySQL 2.0

Видеокурс "Создание движка на PHP и MySQL 2.0" научит Вас создавать профессиональные движки для сайтов на PHP и MySQL с использованием ООП и паттерна MVC.

В курсе разобрана вся теория по структуре движка: как всё устроено, какие должны быть объекты, какая у них иерархия и как они взаимодействуют между собой.

В практической части будет создан движок с чистого листа. Будет создано ядро, все адаптеры, все вспомогательные классы, а также классы для работы с объектами базы данных. И чтобы курс был максимально полезным, будет создан движок для сайта MyRusakov.ru.

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Запрос SQL для сортировки результата выборки

Запрос SQL для сортировки результата выборки

Очень часто требуется не просто сделать выборку записей из таблицы, но и сразу отсортировать по какому-либо полю. Например, отсортировать зарегистрированных пользователей по дате регистрации. И вот для решения таких задач в этой статье мы рассмотрим SQL-запрос для сортировки результата выборки.

Давайте не буду Вас мучать, а сразу дам SQL-запрос на сортировку результата выборки:

SELECT * FROM users ORDER BY date_registration

В результате мы получим result_set, в котором записи отсортированы по возрастанию поля "date_registration". Чтобы данные сортировались по убыванию, нужно использовать параметр "DESC":

SELECT * FROM users ORDER BY date_registration DESC

Результат тот же, что и в предыщем запросе, но данные расположены по убыванию относительно поля "date_registration".

Разумеется, никто Вам не мешает использовать полноценный SQL-запрос на выборку записей с сортировкой:

SELECT login FROM users WHERE id > 20 AND id < 100 ORDER BY login LIMIT 10,30

После выполнения этого SQL-запроса у нас получится result_set, в котором содержатся записи из таблицы users (только поле "login"), причём id этих записей больше 20 и меньше 100, сортировка записей по возрастанию поля "login", а берём мы записи, начиная с 10-ой включительно в количестве 30-ти штук.

Вновь ничего сложного. Единственная проблема: "Как это всё запомнить?". Ответ прост: практика, практика и ещё раз практика! А если забудете всегда есть справочник или PHPMyAdmin, в котором можно легко узнать SQL-запрос на любое действие.

Полный курс по PHP и MySQL: http://srs.myrusakov.ru/php

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

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

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

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

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (9):

sync.o sync.o 31.08.2011 14:43:21

Михаил! А можно ли сделать сортировку с условием? Например, понадобилось сортировать выборку по дате, но без учета времени. Можно ли воспользоваться конструкцией ORDER BY IF.....?

Ответить

Admin Admin 31.08.2011 15:06:39

ORDER BY IF ... нет. Поэтому есть 2 способа: либо сделать обычную выборку, а потом уже через PHP отсортировать, либо разбить поле с "датой и временем" на 2 поля: "дата" и "время". А дальше уже сортировать по полю "дата".

Ответить

GendolfWhite GendolfWhite 28.11.2012 05:02:32

А как организовать двойную сортировку? допустим мне надо что бы сразу от сортировалось по Дате регистрации и по возрасту..

Ответить

Admin Admin 28.11.2012 10:00:49

ORDER BY `field_1` DESC, `field_2`

Ответить

GendolfWhite GendolfWhite 28.11.2012 17:16:07

Спасибо!

Ответить

viktor211112 viktor211112 20.05.2013 21:36:06

Михаил, когда я попытался добавить к этим условиям SELECT * FROM `newbook` WHERE (`id`='$id' and categori='mathematics_1_6_class') сортировку ORDER BY `klass`он мне выдал ошибку Notice: Undefined index: id in /var/www/*******/data/www/*******/**********.php on line 19 Fatal error: Call to a member function fetch_assoc() on a non-object in /var/www/*******/data/www/*********/lib/functions.php on line 39 что в это случае делать?

Ответить

Admin Admin 20.05.2013 22:05:27

http://myrusakov.ru/php-fetchassoc.html

Ответить

AntDant AntDant 22.06.2013 14:33:03

Михаил, а как можно что бы при добавлении записи, она была на 1 строке. Не на последнем месте а на первом ?

Ответить

Adrenalin Adrenalin 31.03.2014 02:49:04

Как произвести выборку ЦЕН из б.д в обратном порядке так, чтобы 200 было больше за 30 или 1000 больше за 900? ORDER BY `cena` DESC не помогает! Или как это сделать в массиве? Сортировать массив в цикле? Как это сделать? ORDER BY `cena` DESC даёт такой результат: 900, 30, 200, 1000... Мне нужно так: 1000, 900, 200, 30...

Ответить

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