Даник Ковалевский aka DarkEol







Программирование  |  Преподавание  |  Публикации  |  Переводы и языки  |  Прочее  |  Про меня En / De / עב

Статьи  |  Скрипты  |  Сайты  |  Полезности  |  Ссылки

Введение в базы MySQL и управление ими с помощью PHP

Вообще-то эти заметки не предполагались как пособие для начинающих, но раз есть спрос и на азы,
то придется и ими заняться.
Итак немного о базах MySQL и их обработки с помощью PHP.

Вся информация в базах MySQL хранится в таблицах. Их структура такова:

Название таблицы
Заголовок первой колонкиЗаголовок второй колонкиЗаголовок третей колонки
Первая колонка, первая ячейкаВторая колонка, первая ячейкаТретья колонка, первая ячейка
Первая колонка, вторая ячейкаВторая колонка, вторая ячейкаТретья колонка, вторая ячейка
Первая колонка, третья ячейкаВторая колонка, третья ячейкаТретья колонка, третья ячейка

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

Авторы
ИмяОтчествоФамилияАдресТелефон
ИванИвановичИвановИваново574-95-54
ПетрПетровичПетровПетрозаводск965-37-58
СидорСидоровичСидоровКиев843-74-58

Понятно что при добавлении нового челововека нужно добавить новую строку в таблице. Например у нас появилась
информация о Василии Васильевиче Васильеве. И мы хотим ее ее добавить. Добавляем.

Авторы
ИмяОтчествоФамилияАдресТелефон
ИванИвановичИвановИваново574-95-54
ПетрПетровичПетровПетрозаводск965-37-58
СидорСидоровичСидоровКиев843-74-58
ВасилийВасильевичВасильевНью Васюки684-26-79

Количество же колонок задается во время создания таблицы и обычно больше не меняется.
Удобно сделать в таблице колонку в которой хранился бы порядковый номер строки. Это в дальнейшем
упростит связь с другими таблицами.

authors
IDИмяОтчествоФамилияАдресТелефон
1ИванИвановичИвановИваново574-95-54
2ПетрПетровичПетровПетрозаводск965-37-58
3СидорСидоровичСидоровКиев843-74-58
4ВасилийВасильевичВасильевНью Васюки684-26-79
(таблица называется authors)


Допустим что это не просто люди, а авторы бесценных текстов. Их тексты мы будем хранить в другой таблице:

texts
АвторНазваниеКраткое описаниеЖанрСодержание
2Из жизни пчелНемного о пчелах и их разведенииУчебная литератураЛень писать текст целиком. Вообразите что он тут есть...
2СвиноводствоСвиньи и чем их едятКулинарияЛень писать текст целиком. Вообразите что он тут есть...
4Азы программированияВведения в мир программирования для начинающихУчебная литератураЛень писать текст целиком. Вообразите что он тут есть...
1Основы стихосложенияКнига наобходимая каждому графомануПоэзияЛень писать текст целиком. Вообразите что он тут есть...
1Гарри ХрюттерСказочная повесть о поросенке волшебникеДетская литератураЛень писать текст целиком. Вообразите что он тут есть...
(таблица называется texts)


Обратите внимание, что в строке "автор" мы записали не фамилию автора, а порядковый номер строки в
таблице авторов. Это предотвращает путаницу когда есть однофамильцы.

Приступим теперь отображению и заполнению таблицы с помощью PHP. Скрипты на языке PHP должы быть
внутри файла с расширением .php, допустим test.php.
Сам код должен находиться между символами <?php и ?>.

<?php

//подключимся к нашей базе данных. username - имя пользователя базы,
//password - его пароль, db_name - название базы.
$link = mysql_connect ("localhost", "username", "password") or die("Не могу соединиться");
mysql_select_db("db_name", $link);

//добавим нового человека в таблицу авторов. Пусть это будет Николай Николаевич
//Николаев из города Николаева, его телефон 865-47-97 и он пятый человек в таблице.
$query="INSERT INTO authors VALUES (5, 'Николай', 'Николаевич', 'Николаев', 'Николаево', '865-47-97')";
$result = mysql_query($query, $link);

//сотрем человека по фамилии Сидоров из таблицы авторов (для удобства я выше написал
//названия колонок по русски, но в базе их нужно записать латиницей.
//Так что вместо фамилии тут будет last_name)
$query="DELETE FROM authors WHERE last_name='Сидоров'";
$result = mysql_query($query, $link);

//выберем названия всех произведений написанных Ивановым (и снова вместо названия будет title,
//а вместо автора author, потому что латиница)
$query="SELECT title FROM texts WHERE author=1";
$result = mysql_query($query, $link);

//напечатаем все получившиеся результаты
while ($row = mysql_fetch_array($result))
{
$title=$row['title'];
print($title);
}
?>

Разумеется здесь приведены только самые простенькие MySQL запросы. Для примера. Более подробно о MySQL
можно почитать тут.

Для создания и редактирования MySQL баз данных существует замечательная программа написанная на PHP. Она называется
phpMyAdmin и живет тут.
Она весьма проста в обращении. Там в окошке нужно сначала задать название базы данных и нажать на подтверждение,
после этого база будет создана. Затем новенькую базу можно начать заполнять таблицами. Всего лишь несколько движений мышкой.
Выбираете опцию создания новой таблицы, задаете ее название, количество колонок, их названия, и вид данных которые будут
в них хранится, нажимаете на подтверждение и таблица готова. Можно ее там же и заполнить, а можно написать свои
PHP скрипты которые будут изменять нужную инофрмацию в таблицах.
Все!







Valid XHTML 1.0 © DarkEol, 2002–2024 Valid CSS Java 11.0.9