Способы вывода базы данных

УЧЕБНЫЕ МАТЕРИАЛЫ

Web-верстка, компьютерная графика,
мультимедиа

  1. Главная »
  2. Учебные курсы »
  3. Уроки PHP и MySQL »
  4. Урок 5. Формы и базы данных в web

Уроки PHP и MySQL

Уроки PHP и MySQL. Урок 5. Формы и базы данных в web

Урок посвящен языку PHP и базе данных MySQL. Рассматривается взаимодействие PHP и MySQL, способы занесения данных из формы в базу данных и вывод данных из базы на web-страницу.

В данном уроке PHP и MySQL Вам предстоит решить следующие задачи:

1. Создать базу данных, содержащую две таблицы: справочник пород кошек, таблицу сведений о потерявшихся животных.

2. Создать web-страницу, на которых будут размещена форма для подачи объявлений о потерявшихся кошках. Данные из этих объявлений заносятся в соответствующую таблицу сведений о потерявшихся животных.

3. Создать web-страницу, позволяющую просматривать информацию из базы данных. Данные в таблицы базы данных будут вноситься из объявлений, размещенных посетителями на сайте.

Задание № 1. Создание базы данных

Наши уроки PHP и MySQL начнем с создания базы данных.

Сначала необходимо создать таблицу-справочник пород и таблицу сведений о потерявшихся животных. Структура таблиц следующая:

Название поля Имя поля Тип поля Описание
идентификационный номер породы id Числовой
название породы name_por Символьный
характеристика породы describe_por Символьный В поле хранится имя файла, который содержит описание породы и фотографию.

Сведения о потерявшихся кошках

Название поля Имя поля Тип поля Описание
идентификационный номер кошки id Числовой
порода por Символьный
дата нахождения кошки:
день
месяц
год
day
month
year
Символьный
Символьный
Символьный
место нахождения кошки place Символьный
пол кошки pol Символьный
возраст кошки age Символьный Если возможно указать примерный возраст
описание кошки outline Символьный Окрас, состояние здоровья и т. д.
координаты нашедшего contact Символьный Любая контактная информация: телефон, e-mail, адрес
дополнительная информация dop_info Символьный Например, кошка больна, есть клеймо, кормящая и пр.

В наших уроках PHP и MySQL рассмотрим два способа создания таблицы базы данных.

1. С помощью клиента MySQL.

2. Средствами PHP.

Способ 1. Создание базы данных с помощью клиента MySQL

С помощью клиентской программы MySQL — «phpMyAdmin» создадим таблицу Справочник пород (таблица 1).

1. Запустите Denwer ярлыком Start Denwer.

2. Запустите браузер и перейдите по ссылке http://localhost/. На открывшейся странице в разделе Утилиты запустите: phpMyAdmin — администрирование СУБД MySQL. Запустится программа phpMyAdmin (рис. 1).

3. Создайте новую базу данных. Для этого впишите в поле Создать базу данных имя базы catsdb, кодировку установите utf8_general_ci и нажмите кнопку Создать (рис. 2).

4. Если все было выполнено верно, то будет выведено сообщение об удачном создании базы.

5. Перейдите в базу данных catsdb, нажав соответствующую строку в левой панели (рис. 3).

6. Добавьте в базу данных таблицу Справочник пород, назовите ее: spravpor (структура таблицы и назначение полей приведены в таблице 1 Справочник пород). Для этого:

a. Внесите данные в поле Имя (имя таблицы — spravpor) и Количество столбцов (3), после чего нажмите кнопку ОК (рис. 4).

b. В открывшемся окне заполните данные по структуре таблицы (рис. 5).

Читайте также:  Способы обработки данных укажите лишнее

c. После заполнения всех полей нажмите Сохранить. Перейдите в таблицу spravpor, нажав соответствующую строку в левой панели (рис. 6).

d. Откроется сама таблица (рис. 7).

Способ 2. Создание базы данных средствами PHP

В данном уроке PHP и MySQL создадим таблицу с помощью сценария PHP, но при этом база данных должна уже быть создана! В листинге 1 приведена программа создания таблицы под именем species средствами PHP. Структура таблицы species аналогична структуре таблицы spravpor.

1. Проанализируйте приведенные в листинге 1 PHP-сценарий и комментарии к нему в файле species.php.

2. Реализуйте код из листинга 1. Для этого:

  • скопируйте его в Notepad++
  • преобразуйте кодировку файла в utf-8 командой Кодировка – Преобразовать в UTF-8
  • сохраните в папку localhost/www под именем species.php
  • запустите файл, набрав в адресной строке localhost/species.php
  • появится сообщение, что таблица успешно создана (рис. 8).

3. После выполнения сценария убедитесь, что таблица species создана в базе данных catsdb (рис. 9, 10).

Листинг 1. Создание таблицы с помощью сценария PHP (файл species.php)


Комментарии к листингу 1:

1. Здесь адрес сервера MySQL — localhost (такой адрес указывается в случае если работа с базой данных ведется на локальном компьютере или компьютере где располагаются файлы с php-сценариями).

2. Программа на языке PHP обычно вставляется в HTML-текст. Поэтому предусмотрены специальные теги для отделения PHP-текста от HTML .

3. Если PHP-сценарий представляет собой самостоятельный модуль (как в листинге 1), он также должен начинаться с конструкции .

4. Любой файл, содержащий PHP-сценарий, имеет расширение php, независимо от того, встроен сценарий в HTML-текст или полностью написан на PHP.

5. Многострочные комментарии должны начинаться с символов /* и завершаться символами*/. Однострочные комментарии предваряются символами //. Закрывать их не нужно.

6. В языке PHP имя переменной начинается со знака доллара ($), за которым следует собственно имя переменной. В именах переменных различаются верхний и нижний регистры. Имя переменной должно начинаться с буквы или символа подчеркивания, за которыми могут следовать буквы, цифры или знаки подчеркивания. Буквы должны быть из диапазона A—Z.

7. В конце каждого оператора php обязательно ставится точка с запятой.

8. Функции для работы с MySQL имеют префикс mysql_ (см. приложение 2).

В нашем уроке PHP и MySQL, используя программу из листинга 1 в качестве образца, напишите сценарий PHP для создания таблицы сведений о потерявшихся кошках (см. таблицу 2). Таблицу назовите catspotery, а файл сценария catspotery.php. Результат на рис. 11, 12

Добавление записи в базу данных

Мы подготовили таблицы базы данных. Сейчас на web-странице разместим форму подачи объявлений для тех, кто потерял кошку. Задача — обеспечить занесение информации из форм в соответствующие таблицы базы данных.

Примерный вид формы представлен на рис. 13.

При выполнениии данного урока PHP и MySQL создайте web-страницу с формой, как на рис. 13. Сохраните под именем forma_cats.html. В качестве файл-обработчика укажите poter_dobavl.php. Не забывайте о корреляции полей формы и полей соответствующей таблицы в базе данных и кодировка файла должна быть в utf-8 (Кодировка – Преобразовать в UTF-8).

Данные, введенные посетителем, заносятся в соответствующую таблицу базы данных. Имя PHP-сценария, отвечающего за эту операцию, указывается в атрибуте action тега . В листинге 2 приведен код PHP-сценария, осуществляющего подключение к серверу MySQL, выбор базы данных, запрос к базе данных. В данном случае это запрос INSERT, который вставляет данные из формы в базу данных.

1. Используя программу из листинга 2 в качестве образца, напишите PHP-сценарии, осуществляющие вставку записей в таблицы сведений о пропавших кошках.

2. Проверьте работоспособность формы. В базу данных (рис. 14) должна сохраняться информация, введенная в форму (рис. 13).

Читайте также:  Способ проведения мандибулярной анестезии

3. Наполните базу 5-ю записями.

Листинг 2. Занесение данных формы в базу данных (файл poter_dobavl.php)

Извлечение записей из базы данных

В нашем уроке PHP и MySQL Вы реализовали технологию заполнения базы данных.

Теперь необходимо реализовать задачу вывода информации из базы данных. Т.е. необходимо представить на сайте информацию из базы данных в следующем виде:

Код сценария, представленный в листинге 3, выводит информацию из базы данных на web-страницу, в соответствии с рисунком 15.

Листинг 3. Вывод информации из базы данных на Web-страницу. Передача параметров (файл vivod_poter.php)

Изучите код сценария из листинга 3 и реализуйте его. Проверьте работоспособность сценария.

Реализуйте возможность работы со справочником пород spravpor. Для этого:

1. Добавьте к созданной таблице поле foto, в котором будет храниться ссылка на фотографию породы.

2. Используя запросы SQL (рис. 16), заполните базу 3-мя записями про породы кошек (длинношерстные, полудлинношерстные, короткошерстные) (рис. 17). Все необходимые материалы находятся в папке cats.

3. Реализуйте web-страницу, на которую выводятся данные из справочника пород. У каждой породы должна быть фотография.

4. Если скрипт обрезает описание породы, увеличьте длину поля describe_por, чтобы можно было вводить длинные описания.

Источник

Вывод информации из базы данных

Практически любая СУБД позволяет вывести на экран и принтер информацию, содер­жащуюся в базе данных, из режимов таблицы или формы. Такой порядок вывода данных может использоваться только как черновой вариант, так как позволяет выводить данные только точно в таком же виде, в каком они содержатся в таблице или форме.

Каждый пользователь, работающий с СУБД, имеет возможность использования спе­циальных средств построения отчетовдля вывода данных. Используя специальные средства создания отчетов, пользователь получает следующие дополнительные возможнос­ти вывода данных:

─ включать в отчет выборочную информацию из таблиц БД;

─ добавлять информацию, не содержащуюся в БД;

─ при необходимости выводить итоговые данные на основе информации базы данных;

─ располагать выводимую в отчете информацию в любом, удобном для пользователя виде (вертикальное или горизонтальное расположение полей);

─ включать в отчет информацию из разных связанных таблиц БД.

4. РАЗРАБОТКА ИНФОЛОГИЧЕСКОЙ МОДЕЛИ

И СОЗДАНИЕ СТРУКТУРЫ РЕЛЯЦИОННОЙ БАЗЫ ДАННЫХ

4.1. Организация данных

Как уже было отмечено выше, слово «реляционная» происходит от английского relation ─ отношение. Отношение ─ ма­тематическое понятие, но в терминологии моделей данных отношения удобно изображать в виде таблицы. При этом строки таблицы соответствуют кортежам отношения, а столбцы ─ атрибутам. Ключом называют любую функцию от атрибутов кортежа, которая может быть использована для идентификации кортежа. Такая функция может быть значением одного из атрибутов (простой ключ), задаваться алгебраическим выражением, включающим значения нескольких атрибутов (составной ключ). Это означает, что данные в строках каждого из столбцов составного ключа могут повторяться, но комбинация данных каждой строки этих столбцов является уникальной. Например, в рассмотренной выше таблице Студенты (см. рис.1.9) есть столбцы Фамилия и Дата рождения. В каждом из столбцов есть некоторые повторяющиеся данные, т.е. одина­ковые фамилии и одинаковые даты рождения. Но если студенты, имеющие одинаковые фа­милии, имеют разные даты рождения, то эти столбцы можно использовать в качестве со­ставного ключа. Как правило, ключ является уникальным, т.е. каждый кортеж определяется значением ключа однозначно, но иногда используют и неуникальные ключи (ключи с по­вторениями). В локализованной (русифицированной) версии Access вводится термин ключевое поле, которое можно трактовать как первичный ключ.

В Access можно выделить три типа ключевых полей: простой ключ, составной ключ и внешний ключ.

Одно из важнейших достоинств реляционных БД состоит в том, что можно хранить логически сгруппированные данные в разных таблицах и задавать связи между ними, объединяя их в единую базу. Для задания связи таблицы должны иметь поля с одина­ковыми именами или хотя бы с одинаковыми форматами данных. Связь между таблицами устанавливает отношения между совпадающими значениями в этих полях. Такая организа­ция данных позволяет уменьшить избыточность хранимых данных, упрощает их ввод и ор­ганизацию запросов и отчетов. Поясним это на примере. Допустим, в базе надо хранить данные о студентах (фамилия, изучаемая дисциплина) и преподавателях (фамилия, название кафедры, ученая степень, преподаваемая дисциплина). Если хранить данные в одной таблице, то в строке с фамилией студента, изучающего конкретную дисциплину, будут храниться все атрибуты преподавателя, читающего эту дисциплину. Это же огромная избы­точность данных. А если хранить данные о студенте в одной таблице, о преподавателе ─ в другой и установить связь между полями Читаемая дисциплина ─ Изучаемая дис­циплина (фактически это одинаковые поля), то избыточность хранимых данных много- кратно уменьшится без ущерба для логической организации информации.

Читайте также:  Эсфолил форте способ применения

В Access можно задать три вида связей между таблицами: Один-ко-многим, Многие-ко-многим и Один-к-одному.

Связь Один-ко-многим ─ наиболее часто используемый тип связи между таблицами. В такой связи каждой записи в таблице А может соответствовать несколько записей в таб­лице В (поля с этими записями называют внешними ключами), а запись в таблице В не мо­жет иметь более одной соответствующей ей записи в таблице А.

При связи Многие-ко-многим одной записи в таблице А может соответствовать несколько записей в таблице В, а одной записи в таблице В ─ несколько записей в таблице А. Такая схема реализуется только с помощью третьей (связующей) таблицы, ключ кото­рой состоит по крайней мере из двух полей, одно из которых является общим с таблицей А, а другое — общим с таблицей В.

При связи Один-к-одному запись в таблице А может иметь не более одной связанной записи в таблице В, и наоборот. Этот тип связи используют не очень часто, поскольку такие данные могут быть помещены в одну таблицу. Связь с отношением Один-к-одному приме­няют для разделения очень широких таблиц, для отделения части таблицы в целях ее защи­ты, а также для сохранения сведений, относящихся к подмножеству записей в главной таблице.

Тип создаваемой связи зависит от полей, для которых определяется связь:

─ связь Один-ко-многим создается в том случае, когда только одно из полей является ключевым или имеет уникальный индекс, т.е. значения в нем не повторяются;

─ связь Один-к-одному создается в том случае, когда оба связываемых поля являются ключевыми или имеют уникальные индексы;

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

4.2. Целостность данных

Целостность данных означает систему правил, используемых в СУБД Access для поддер­жания связей между записями в связанных таблицах (таблиц, объединенных с помощью связи), а также обеспечивает защиту от случайного удаления или изменения связанных данных. Контролировать целостность данных можно, если выполнены следующие условия:

─ связанное поле (поле, посредством которого осуществляется связь) одной таблицы яв­ляется ключевым полем или имеет уникальный индекс;

─ связанные поля имеют один тип данных. Здесь существует исключение. Поле счетчи­ка может быть связано с числовым полем, если оно имеет тип Длинное целое;

─ обе таблицы принадлежат одной базе данных Access. Если таблицы являются связан­ными, то они должны быть таблицами Access. Для установки целостности данных БД, в которой находятся таблицы, должна быть открыта. Для связанных таблиц из БД других форматов установить целостность данных невозможно.

Источник

Оцените статью
Разные способы