<MyRusakov.ru />

PHP и MySQL с Нуля до Гуру

PHP и MySQL с Нуля до Гуру

Данный курс - это более 20-ти часов видеоуроков по изучению PHP и MySQL. Ключевой момент курса - это создание движка для сайта с нуля. Каждая строчка комментируется. Практически для каждого урока имеются упражнения. Причём данные упражнения направлены не только на закрепление материала, но и на реализацию реальных задач, встающих перед Web-разработчиками при создании сайтов. После курса Вы сможете без проблем создавать движки для любых сайтов.

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

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

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

Подписавшись по 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;

Ответить

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