<MyRusakov.ru />

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

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

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

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

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

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

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

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

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

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

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

Запрос SQL на выборку записей

Запрос SQL на выборку записей

Единственный смысл использования базы данных в том, чтобы хранить в ней данные и иметь к ним доступ для считывания. Поскольку, весь смысл базы данных заключается в хранении и выборке, то данная статья по важности №1. Из этой статьи Вы узнаете, какой SQL-запрос нужен для выборки записей из таблицы базы данных.

Выборка заключается в получении result_set. Result_set - это и есть набор записей, который можно далее обрабатывать. Разумеется, обработка зависит от ПО, которое Вы используете и языка программирования. Мы с Вами рассматривали отправку запросов к базе данных в PHP, где разбиралась тема с обработкой result_set в ПО MySQL.

Выборка записей осуществляется с помощью команды SELECT. Давайте рассмотрим пример её использования:

SELECT id, login FROM users

В результате, будет возвращён result_set, который содержит все записи таблицы users. Обратите внимание, что мы указали только поля: "id" и "login". Если нам нужны значения всех полей, то тогда надо использовать такой SQL-запрос:

SELECT * FROM users

В result_set будут выведены все записи таблицы users со всеми полями и их значениями.

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

SELECT password FROM users WHERE login='TestUser'

В result_set попадут записи, поле "login" у которых имеет значение "TestUser".

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

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

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

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

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

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

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

  1. Кнопка:

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

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

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

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

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

sync.o sync.o 15.07.2011 13:31:16

неплохо б еще научиться делать выборку из нескольких статей с перекликающимися полями... как вам тема для новой статьи, Михаил?))

Ответить

Admin Admin 15.07.2011 13:38:19

Да, пожалуй, будет интересно. Думаю, что на следующей неделе уже появится подобная статья. Спасибо!

Ответить

Adrenalin Adrenalin 27.01.2012 00:56:52

Я разобрался с тем, как записывать данные в базу данных с формы (комментарии) и выводить их на страницу (по id). Но не могу понять как записать и вывести разные комменты на разных страницах. Умею вывести все записи с таблицы или какие-то на выбор - id1...id5 Но как указать на комменты к определённой странице(при записи или при выводе)??? Если не сложно, то пример кода не помешает!

Ответить

Admin Admin 27.01.2012 01:03:06

Для этого у комментариев должно было ещё одно поле, отвечающее за id страницы, на которой они должны выводиться.

Ответить

Adrenalin Adrenalin 30.01.2012 03:39:21

Забыл сказать! У меня страницы статические, но на .php Может как-то можно из формы в скрытом поле передавать обработчику, что этот коммент для этой страницы? Если да, то что там надо прописать? Я готов для каждой страницы указывать в форме разные данные!

Ответить

Admin Admin 30.01.2012 13:35:00

Да, так и нужно делать. <input type="hidden" name="page_id" value="15" /> - это как пример того, что нужно вставить в форме. Значение 15 будет для каждой страницы своё.

Ответить

vicky vicky 14.12.2012 03:19:11

Интересует как реализовать например на мультиязычном сайте выборку из базы.Например у меня есть описание на английской и в случае если пользователь установил английский язык он видит описание на английском,а если же выбрал на шведском, то описание будет на шведском? как это можно реальзовать?+

Ответить

Admin Admin 14.12.2012 10:14:20

Сделать в таблице вместо 1-го поля несколько, каждое поле для отдельного языка. Например, desc_en, desc_ru, desc_fr и так далее. И, соответственно, выводить описание из нужного поля.

Ответить

viktor211112 viktor211112 10.03.2013 13:16:49

как сделать запрос не по таблице а по всей базе или сделать запрос по нескольким таблицам

Ответить

Admin Admin 10.03.2013 14:01:46

http://myrusakov.ru/sql-select-several.html

Ответить

Олег Олег 09.08.2013 23:52:40

Здравствуй Михаил В курсе PHP и MySQL при создании движка, при написании класса 'database_class.php' в функции 'getRandomElements()' используется запись 'RAND()' !!! При вызове этой функции, во время добавления опроса на сайт, я обнаружил, что опрос не добавляется из базы. Я изменил 'RAND()' в функции 'getRandomElements()' на 'id' и всё заработало! Вопрос. Почему может не работать 'RAND()'?

Ответить

Admin Admin 10.08.2013 14:17:20

Эта функция просто возвращает случайный int, возможно диапазон там неправильно задан.

Ответить

Adrenalin Adrenalin 29.08.2013 12:54:37

Мне нужно вытащить из таблицы записи начиная не с первой, а от id200 по id300. Это возможно? Как? Умею выводить по-всякому, но этот вариант не знаю!

Ответить

Admin Admin 29.08.2013 14:58:55

Так и делаете диапазон. Например, SELECT * FROM tablename WHERE id >= 100

Ответить

Adrenalin Adrenalin 29.08.2013 17:21:08

Обязательно нужно и то и то (>=)? Или что-то одно? > или = А как указать по которую запись выводить???

Ответить

Admin Admin 30.08.2013 19:14:46

AND (categoryid >= 100) добавляйте так сразу два условия, чтобы интервал получился.

Ответить

kgm96.1996 kgm96.1996 29.10.2014 12:03:34

здравствауйте! у меня проблема (запрос 'SELECT * FROM table' возвращает только первую строку, как при выводе через print_r() так и через цикл выводится только одна строка. почему это может происходить ?

Ответить

jumong jumong 02.02.2014 22:23:55

У меня опять проблема:(Вообщем с сессиями я разобрался но тут возникла очередная неполодка.В библиотеке функций есть функция проверки логина пользователья но не знаю почему авторизация не работает. function checkUser($login) { $mysqli = connectDB(); $result_set = $mysqli->query("SELECT * FROM users WHERE login = '$login'"); closeDB($mysqli);}

Ответить

logaut logaut 04.02.2014 16:24:14

Михаил, а можно выводить записи из bd не используя при этом циклы? Как то упрощённо сделать? Например, если я не хочу, чтобы выводились все строки, а мне нужна одна строка только.

Ответить

tikkiwiki tikkiwiki 11.02.2014 14:21:59

Можно конечно, выводите просто то, что получили из своего построенного запроса.

Ответить

trash trash 18.04.2014 14:11:14

Добрый день. Есть таблица в которой примерно 80 полей, из которых данные имеются только в 10, остальные NULL. Поля с данными разные для каждой записи. Подскажите как можно выбрать из таблицы только те поля которые IS NOT NULL ?

Ответить

alexandrdante alexandrdante 19.04.2014 01:30:24

по id или по условию)как вам удобнее)

Ответить

trash trash 19.04.2014 14:04:07

Да вот не могу понять как правильно условие составить. Поля в которых есть данные изначально неизвестны. Например, запрос SELECT * FROM `table` WHERE `device` =1000 Выводит запись для устройства 1000 со всеми полями. Как добавить фbльтр чтобы вывелись только поля без NULL ?

Ответить

Shamsi Shamsi 11.10.2014 02:43:12

SELECT * FROM topics WHERE id_author IS NOT NULL;

Ответить

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