Вообще-то эти заметки не предполагались как пособие для начинающих, но раз есть спрос и на азы,
то придется и ими заняться.
Итак немного о базах 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 скрипты которые будут изменять нужную инофрмацию в таблицах.
Все! |