<MyRusakov.ru />

Фреймворк Yii 2.0 с нуля. Пример создания сайта

Фреймворк Yii 2.0 с нуля. Пример создания сайта

Видеокурс "Фреймворк Yii 2.0 с нуля. Пример создания сайта" обучит Вас созданию профессиональных сайтов с использованием фреймворка Yii. В курсе есть 2 раздела: теоретический и практический. В теоретическом разделе будут разобраны возможности фреймворка Yii с примерами их использования, а в практической части будет создан сайт Blog.MyRusakov.ru с помощью полученных знаний из теоретического раздела.

Так же почти ко всем урокам идут упражнения для закрепления материала из урока на практике.

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

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

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

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

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

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

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

Случайная выборка из базы данных

Случайная выборка из базы данных

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

В основе лежит команда сортировки (ORDER), и мы можем сделать так, чтобы сортировка была случайной. Это создаёт видимость случайной выборки. Вот пример запроса, который извлекает случайные записи:

SELECT * FROM `table` ORDER BY RAND()

Такой запрос вытащит все записи из таблицы и перемешает их случайным образом. На практике это нужно редко. Гораздо чаще нужно выводить именно определённое число записей:

SELECT * FROM `table` ORDER BY RAND() LIMIT 5

И данный запрос уже имеет практическую пользу, так как он позволяет вывести 5 случайных записей. Можно так вывести, например, 5 случайных изображений на страницу.

Очень часто требуется вытащить не просто случайные записи, но чтобы они удовлетворяли какому-либо условию:

SELECT * FROM `table` WHERE `id` > 5 ORDER BY RAND() LIMIT 5

Данный запрос вытащит 5 случайных записей, у которых id больше 5. Вот так делается случайная выборка из базы данных.

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

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

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

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

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

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

  1. Кнопка:

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

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

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

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

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

Xcho Xcho 12.06.2013 11:05:54

почему вы не используете pdo для работы с базой данных?

Ответить

Admin Admin 12.06.2013 11:07:25

Не люблю иметь дела ни с какими сторонними расширениями.

Ответить

kir1234 kir1234 02.08.2013 15:49:27

Здравствуйте, Михаил я сделал все так-же но у меня не получается. ошибок нет я 5 раз проверял подскажите с чем это связано?

Ответить

Admin Admin 02.08.2013 16:14:54

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

Ответить

kir1234 kir1234 03.08.2013 12:09:40

вот вам Михаил мой сайт http://dfiles.ru/files/r35om683r исправьте код пожалуйста везде где ошибки еще мой e-mail: balandin_2004@mail.ru. таблицу проверил нет не в этом ошибка

Ответить

Adrenalin Adrenalin 13.12.2013 00:40:41

Не получается составить запрос, который выберет из базы (таблицы) 5 СЛУЧАЙНЫХ записей, но обязательно НАЧИНАЯ С id5 или так, чтобы id5 обязательно попал в эту выборку! Спасибо.

Ответить

tikkiwiki tikkiwiki 16.12.2013 10:44:32

Здравствуйте, Александр, попробуйте так: SELECT * FROM `table` WHERE `id` > 5 ORDER BY RAND() LIMIT 5

Ответить

shamil shamil 30.11.2014 20:58:06

здравствуйте!ставлю LIMIT 5 ,все равно выходит одна запись,и выборка всех записей неполучается. правильный ли код: function getAllVideolink() { $mysqli = connectDB(); $result_set = $mysqli->query("SELECT * FROM `video`ORDER BY RAND() LIMIT 5"); closeDB($mysqli); return resultToArray($result_set); }

Ответить

shamil shamil 30.11.2014 21:02:08

может эти записи вывожу не правильно: <?php $vlink = getAllVideolink(); foreach ($vlink as $key => $row) { $link = $row['link']; $id = $row['id']; } echo '<ul class="blok">'.$link.'</ul>'; ?>

Ответить

shamil shamil 30.11.2014 21:19:48

в поле id ставлю unsinsed, prymeri,auto_inscrement

Ответить

alexandrdante alexandrdante 30.11.2014 23:00:22

не опечатались? может auto_inCrement ?

Ответить

alexandrdante alexandrdante 30.11.2014 22:59:24

что за ORDER BY RAND() ? Limit делает лимит вывода на количество записей из колонки по порядку,учитывая предыдущие условия выборки или сортировки т.е. ORDER BY RAND() он не поймёт,если у вас нет колонки rand в таблице,и соответственно не поймёт limit 5

Ответить

shamil shamil 01.12.2014 15:53:00

ошибка найдена.echo было вне цикла

Ответить

vvv vvv 11.04.2015 05:07:18

Спасибо большое за этот урок, но решив проблему с рендером из базы данных я столкнулся с новой, у меня теперь стоит мне нажать кнопку что бы передать значение и запустить код внутри, $result=mysql_query(' SELECT * FROM `wp_options` ORDER BY RAND()'); вновь обращается к базе данных и меняет значение, как будто- я перезагрузил страницу, хотя , я его об этом не прошу. Кто подскажет, что делать?

Ответить

Mister_X Mister_X 29.07.2015 08:40:22

Михаил когда искал случайную выборку из базы данных то прочитал не мало форумах и много где говорят что ORDER BY RAND() рабочий вариант но очень тормознутный ... то есть если в БД будет к примеру 100000 строк то сервак задумается ... Почему Вы выбрали именно ORDER BY RAND() ?

Ответить

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