Ввод данных в таблицу

В предыдущей главе вы создали таблицу my_music в базе данных testDB, которая готова к приему данных о вашей музыкальной коллекции. В этой главе вы узнаете как:

  • создать административный интерфейс для добавления записей;
  • создать сценарий, вставляющий записи в вашу таблицу.
  • Создание формы для добавления записей

    В этом упражнении вы создадите HTML-форму, содержащую поля ввода для каждого столбца в таблице базы данных my_music. В предыдущей главе мы создали восемь полей, которые соответствуют восьми столбцам таблицы базы данных. Форма (интерфейс) для добавления ваших записей должна иметь элемент для ввода значений каждого из этих полей.

  • Создайте с помощью текстового редактора новый файл.
  • Начните блок HTML:
  • Используем имена полей таблицы базы данных в качестве значений параметра NAME в определении полей HTML-формы. А также, где это возможно, используем значения размера полей таблицы в качестве значений параметра MAXLENGH в определении полей HTML-формы.

  • Начните HTML-форму с методом post и действием do_addrecord.php
  • :

    Для лучшего размещения полей в форме создадим HTML-таблицу. Начнем с создания строки новой таблицы и ячейки данных, а затем создадим в этой ячейке поле ввода номера записи (ID) с надписью.

  • Для этого введите код
  • :

  • Чтобы создать поле ввода для ввода даты приобретения записи и закрыть ячейку данных таблицы, введите код:
  • В MySQL используется дата в формате ГГГГ-ММ-ДД. Например, дата 2000-05-31 означает 31 мая 2000 года.

  • Чтобы в новой ячейке таблицы создать переключатели для выбора формата музыкальной записи, введите код:
  • Чтобы закрыть ячейку и строку таблицы HTML, введите код:
  • Чтобы создать новую строку HTML-таблицы и ячейку, в которой будет поле ввода с надписью для названия музыкальной записи, введите код:
  • Закройте ячейку HTML-таблицы:
  • Чтобы создать в этой же строке новую ячейку с полем ввода и надписью для информации о студии звукозаписи, введите код:
  • Закройте ячейку и строку HTML-таблицы:
  • Чтобы начать новую строку и ячейку HTML-таблицы с полем ввода для имени артиста, введите код:
  • Чтобы закрыть ячейку HTML-таблицы, введите:
  • Чтобы создать в этой же строке новую ячейку с полем ввода и надписью для фамилии артиста, введите код:
  • Закройте ячейку и строку HTML-таблицы:
  • Чтобы начать новую строку с двумя объединенными ячейками HTML-таблицы и создать в них текстовую область с надписью, введите код:
  • Чтобы добавить кнопку Добавить запись и закрыть ячейку, строку таблицы и саму HTML-таблицу, введите код:
  • Закройте форму и HTML-документ:
  • Сохраните созданный файл с именем show_addrecord.html в папке для документов вашего Web-сервера.
  • Запустите свой Web-браузер, в поле ввода Адрес: введите

    http://localhost/show_addrecord.html

    и нажмите клавишу Enter, в рабочее окно браузера будет загружена страница Добавление записей (Рис. 9.1).
  • Рис. 9.1. Страница Добавление записей

    На Рис. 9.1 вы видите форму для добавления записей в таблицу, которая содержит все необходимые элементы для занесения данных о вашей музыкальной коллекции.

    В следующем упражнении вы создадите сценарий, который создаст оператор SQL из введенных в эту форму данных. Этот оператор будет послан на сервер MySQL для записи данных в таблицу.

    Создание сценария добавления записей

    Сценарий, который мы создадим для добавления записей в таблицу базы данных, намного проще, чем сценарий добавления таблицы в базу данных.

  • Создайте с помощью текстового редактора новый файл.
  • Начните блок РНР:
  • Чтобы проверить, имеют ли значения переменные $id, $format, $title, введите код:
  • Если эти переменные не имеют значения, то в рабочее окно браузера снова будет загружена страница Добавление записей.

    Вы можете указать в этом операторе как больше, так и меньше переменных, значения которых, по вашему мнению, должны быть обязатель ными.

  • Создайте переменную для хранения имени базы данных, в которой находится таблица:
  • Создайте переменную для хранения имени таблицы, куда мы будем добавлять записи:
  • Создайте переменную для хранения результата функции mysql_connect ( ):
  • Символ @ используется для подавления предупреждений, а функция die ( ) - для прерывания сценария и вывода сообщения в случае, если будет невозможно подключиться к серверу MySQL.

  • Создайте переменную для хранения результата функции mysql_select_db ( ):
  • Символ @ используется для подавления предупреждений, а функция die ( ) - для прерывания сценария и вывода сообщения в случае, если будет невозможно выбрать базу данных.

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

  • Создайте переменную для хранения оператора SQL:
  • Создайте переменную для хранения результата функции mysql_query ( ) :
  • Символ @ используется для подавления предупреждений, а функция die ( ) - для прерывания сценария и вывода сообщения в случае, если будет невозможно выполнить запрос.

  • Закройте блок РНР:
  • Начните блок HTML:
  • Чтобы добавить на страницу заголовок, поясняющий пользователю происходящее действие, введите код:
  • Далее мы добавим к этому сценарию немного измененный сценарий show_addrecord.html. Он не будет содержать полей ввода формы, вместо них мы, используя смешивание кодов HTML и РНР, отобразим значения полей, которые были введены. Начнем с создания новой строки таблицы и ячейки данных, в которой отобразим надпись и значение номера записи (ID).

  • Введите код:
  • Чтобы отобразить введенную дату с подписью и закрыть ячейку HTML-таблицы введите код:
  • Чтобы отобразить формат музыкальной записи с подписью и закрыть ячейку и строку HTML-таблицы, введите код
  • :

  • Чтобы начать новую строку HTML-таблицы и ячейку, в которой будет отображаться название музыкальной записи или альбома, введите код:
  • Чтобы в следующей ячейке HTML-таблицы отобразить введенные данные о студии звукозаписи и закрыть ячейку и строку таблицы, введите код:
  • Чтобы начать новую строку HTML-таблицы и ячейку, в которой будет отображаться имя исполнителя, введите код:
  • Чтобы в следующей ячейке HTML-таблицы отобразить введенную фамилию исполнителя и закрыть ячейку и строку таблицы, введите код:
  • Чтобы начать новую строку HTML-таблицы с двумя объединенными ячейками, в которых будут отображаться ваши замечания, введите код:
  • Функция stripslashes ( ) удалит все символы обратной косой черты (\), которые были автоматически добавлены в данные вашей формы. По умолчанию параметр magic_quotes_gpc в вашем файле php.ini включен. Этот параметр добавляет символы обратной косой черты везде, где это необходимо, чтобы маскировать специальные символы (одинарные или двойные кавычки). Вы можете отключить параметр magic_quotes_gpc, изменив файл php.ini. Если же вы оставите его включенным, то это доставит вам меньше беспокойств.

  • Добавьте ссылку на первоначальную форму для ввода следующей записи:
  • Чтобы закрыть ячейку, строку таблицы, саму таблицу и закончить HTML-документ, введите код:
  • Сохраните созданный файл с именем do_addrecord.php в папке для документов вaшего Web-сервера.
  • Запустите свой Web-браузер, в поле ввода Адрес введите
  • http://localhost/show_addrecord.html

    и нажмите клавишу Enter. В рабочее окно браузера будет загружена страница Добавление записей (Рис. 9.1).
  • Введите в поле ввода Номер записи ID: цифру 1.
  • В группе переключателей Формат установите переключатель компакт-диск.
  • Поле ввода Дата (ГГГТ-ММ-ДД): не заполняйте.
  • В поле ввода Название записи: введите LADY IN RED.
  • В поле ввода Студия звукозаписи: оставьте пустым.
  • В поле ввода Фамилия исполнителя (Группа): введите текст: Collection.
  • В текстовое окно Мои заметки: введите текст: Эта запись пробная. Для провери как это будет напечатано!
  • Полностью заполненная форма показана на Рис. 9.2. Вы можете использовать для проверки данные из своих музыкальных коллекций.

    Рис. 9.2. Заполненная форма Добавление записей в my_music

    Нажмите кнопку Добавить запись. Браузер загрузит страницу Добавление записи (Рис. 9.3).

    Рис. 9.3. Страница Добавление записи

  • Щелкните мышью на ссылке Добавить еще одну запись. Браузер снова загрузит страницу Добавление записей (Рис. 9.1).
  • Добавьте в таблицу несколько записей о своей собственной музыкальной коллекции.
  • Если вы не внесли в сценарий собственных изменений, то он требует ввести только три обязательных поля: Номер записи ID, Формат и Название записи.

    В следующих главах вы измените свою таблицу таким образом, чтобы поле ID было действительно уникальным и увеличивалось автоматически, чтобы вы не вводили значения в это поле вручную, надеясь при этом не ошибиться.



    Hosted by uCoz