Здесь мы будем учиться работать с базами данных (БД), и даже будем использовать базу данных на примере. А создавать базу данных мы будем через прекрасную программу, «phpmyAdmin» которая используется на всех современных серверах.
Давайте зайдем в эту программу, если вы установили сервер, то программа у вас уже есть. Для того чтоб в нее зайти наберите у себя в браузере вот такой адрес: http://localhost/Tools/phpMyAdmin/. Если же вы сервер не устанавливали то можете сделать это здесь.
И так мы вошли в программу и в правой колонке мы можем увидеть все наши базы данных, которые находятся на нашем локальном компьютере. На данный момент у нас на компьютере одна база данных и называется она mySql, а columns_priv, db, func, host, tables_priv и user, это таблицы которые находятся в этой базе данных. В новых версиях сервера Apache, возможны изменения, так как там более свежая версия phpmyadmin.
Сейчас давайте создадим свою первую базу данных. Для этого выполним два простых действия: на главной странице phpMyAdmin наберем в поле для имени имя нашей новой БД и нажмем кнопку создать, которая находится рядом. Назовем ее, например first_bd. И так мы создали базу данных, но в ней пока нету ни одной таблицы, а база данных это ведь совокупность таблиц. Давайте создадим новую таблицу ну, например lessons и поставим в строчке "поля" цифру 3. Теперь нам нужно указать названия полей и их тип.
Вот такая табличка должна у вас получится в итоге.
Давайте приступим к ее заполнению. Первое поле всегда будем ставить "id", это поле будет служить нам как бы счетчиком (идентификатором). В поле "тип" мы указываем INT (если кратко этот тип для чисел). В поле "Длинны Значения" мы можем прописать любую цифру (кроме нуля), это поле определяет, сколькизначно будет максимальное значение (поле заполняется обязательно). Обязательно в поле "дополнительно" ставим функцию auto_increment(эта функция автоматически прибавляет к нашему идентификатору единичку при каждом новом созданном значении) и указываем что наше поле это "Первичный" ключ. Второе поле, допустим, возьмем title, "тип" VARCHAR (если кратко то, этот тип для небольших текстовых вставок), в поле "Длинны Значения" указываем 200 и в этом случае, это не, сколько знаков максимально будет иметь данная переменная, а максимальное количество символов потому, что тип уже не INT а VARCHAR. В следующей строчке пишем "writer", "тип" VARCHAR, "Длинны Значения" указываем 100.
Нажимаем кнопку "сохранить", и у вас должно вывестись примерно вот такое сообщение, о том, что таблица "lessons" была создана.
Ниже у нас появляется сама таблица, также мы можем посмотреть ее структуру и "обзор", но чтоб посмотреть "обзор" нам нужно наполнить нашу таблицу данными.
Для того чтоб занести в таблицу новые данные, нажимаем на кнопку «Вставить», у нас появляется наша таблица и поля для вставки. Давайте заполним нашу таблицу. Начинаем писать в колонке "Значения". Значения для первой строки ("id") мы не заполняем, так как у нас стоит функция на это поле auto_increment. Значения для нашего названия урока (title), давайте сделаем, например "Урок по php, значения для автора урока (writer) пишем любое имя.
Далее нажимаем кнопку "Пошел", и у нас должен автоматически добавится новый ряд.
Таким же образом добавляем второй ряд, в значения указываем, что хотите. После того как создали еще один ряд давайте перейдем на вкладку "Обзор", и увидим там наши данные которые мы занесли в таблицу.
Теперь давайте поговорим о функциях программы «phpmyAdmin». Очень часто, когда вы захотите установить себе на сайт какой-нибудь php скрипт, то в инструкции по установки вам говорят, что нужно импортировать какой-нибудь файл (обычно у него идет расширение SQL) себе в базу данных, для этого нужно выбрать нашу БД и нажать на функцию SQL, потом можно открыть файл, скопировать от туда код и вставить в поле для вставки, либо нажать обзор и указать программе этот файл. Эта функция часто используется так, что запомните это.
Есть еще функция, о которой я хочу вам рассказать, это функция "Экспорт". Она делает обратную операцию функции SQL, тоесть она экспортирует данные из базы в обычный текстовый файл.
Теперь давайте создадим нового пользователя для нашей базы данных, так как кто то должен иметь к ней доступ. Для этого рядом с полем, где выбирать базы данных нажмем кнопку "К началу", далее жмем "Привилегии" и ниже, под таблицей "User overview" выбираем "Добавить нового пользователя". Появляются две таблички "Информация логина" и "Глобальные привилегии". В таблице "Информация логина" указываем имя будующего пользователя (все пишем по английский), полю "Хост" задаем параметр "использовать текстовое поле", а в следующем поле, этой же строки, пишем "localhost", далее указываем пароль и подтверждаем его в строчке ниже. Переходим к следующей таблице "Глобальные привилегии", в ней просто ставим галочки напротив каждой привилегии.
Для этого нам понадобится файл, который мы создавали, когда проходили урок по установке сервера "Apache" кто забыл или удалил тот файл, читаем тут.
И так давайте создадим запрос к нашей БД и, что-нибудь оттуда выведем. Для этого нам как раз понадобится несколько PHP функций. Первое, что мы сделаем, это напишем код для PHP вставки между тегами <body> и </body>, и между этими тегами вставки PHP создадим переменную $db, которая будет содержать идентификатор данного соединения с базой, и прописать функцию mysql_connect и задать ей параметры в скобках к какой именно базе мы будем подключаться, и где она находится. В круглых скобках "( )" пишем, что наша база данных находится у нас на локальном компьютере "localhost", далее указываем пользователя наше базы данных "newuser" и прописываем пароль, который вы указали при регистрации пользователя. После кода не забываем ставить точку с запятой. Код примерно получится вот такой.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Документ без названия</title> </head> <p>Проверка нашего домена newsite.com</p> <?php echo "Проверяем исполнение php скриптов"; ?> <br/> <?php $db = mysql_connect("localhost","newuser","12345"); ?> <body> </body> </html> |
Теперь воспользуемся PHP функцией "mysql_select_db", в качестве параметров мы должны указать имя нашей БД "first_bd" и ее идентификатор, тоесть ту переменную, которую мы создали ($db). Код примерно получится вот такой.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Документ без названия</title> </head> <p>Проверка нашего домена newsite.com</p> <?php echo "Проверяем исполнение php скриптов"; ?> <br/> <?php $db = mysql_connect("localhost","newuser","12345"); mysql_select_db("first_bd", $db); ?> <body> </body> </html> |
После всего этого нам нужно вывести информацию из базы на экран. Для этого нам нужно создать переменную, которая и будет содержать данную информацию, ну например переменная $result и опять же воспользуемся PHP функцией "mysql_query" а, в качестве параметра указываем, что именно мы вытаскиваем и из какой таблицы ("SELECT * FROM lessons", $db). Если по-русски то мы сейчас сказали компьютеру ("вытащить все из таблици уроки"). Все результат занесен в переменную и сейчас нам нужно вывести этот результат на экран (ну например, вычислим, сколько у нас уроков в базе). Для того чтоб сосчитать количество уроков, создадим еще одну переменную $num и в ней будет содержаться результат подсчета наших уроков. Делается это с помощью функции "mysql_num_rows", и в качестве параметра указываем нашу переменную $result. Теперь в переменной $num у нас хранима количество уроков в базе и мы можем вывести их на экран в любом месте нашего сайта. Для этого воспользуемся оператором "echo" и поставим нашу переменную $num. В конце концов, у нас получается вот такой код.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Документ без названия</title> </head> <p>Проверка нашего домена newsite.com</p> <?php echo "Проверяем исполнение php скриптов"; ?> <br/> <?php $db = mysql_connect("localhost","newuser","12345"); mysql_select_db("first_bd", $db); $result = mysql_query("SELECT * FROM lessons", $db); $num = mysql_num_rows($result); echo "Уроков в базе - $num"; ?> <body> </body> </html> |
Всё, весь код мы написали. Сохраняем наш файл, перезапускаем сервер и теперь переходим в браузер и набираем адрес нашего файлаhttp://www.newsite.com/. Если вы правильно установили сервер, и написали весь код правильно, то результат будет такой.
Теперь если мы в базе данных добавим новый урок, у нас автоматически изменится строчка "Уроков в базе", попробуйте добавить еще урок, потом перейдите на свой сайт и обновите страницу.
По завершению урока хочу сказать, что наверно у вас сейчас вся голова трещит, но уверяю, когда мы будем больше практиковаться у вас, это все будет как 2 х 2. На самом деле тут нет ничего сложного.