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

 

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


<?php

Чтобы проверить, имеют ли значения переменные $id, $format, $title, введите код:

if ((!$_REQUEST["id"]) || (!$_REQUEST["format"]) || (!$_REQUEST["title"])) {
header ("Location: show_addrecord.html");
exit;
}

 

Если эти переменные не имеют значений (пустые поля ввода), то в рабочее окно браузера снова будет загружена страница Добавление записей.
Вы можете указать в этом операторе как больше, так и меньше переменных, значения которых, по вашему мнению, должны быть обязатель ными.
Создайте переменную для хранения имени базы данных, в которой находится таблица:

 


Исправьте, если Ваша база создана с другим именем (возможно testDB2).

Создайте переменную для хранения имени таблицы, куда мы будем добавлять записи:

 

 

Создайте переменную для хранения результата функции mysql_connect ( ):

 

 

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

 

 

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

 

$db=mysql_select_db ($db_name, $connection) or die ("Невозможно выбрать базу данных");
$sql="INSERT INTO $table_name (id, format, title, artist_fn, artist_ln, rec_label, my_notes, date_asq) VALUES (";
$sql .= "\"".$_REQUEST["id"]."\","."\"".$_REQUEST["format"]."\",";
$sql .= "\"".$_REQUEST["title"]."\","."\"".$_REQUEST["artist_fn"]."\","."\"".$_REQUEST["artist_ln"]."\",";
$sql .= "\"".$_REQUEST["rec_label"]."\","."\"".$_REQUEST["my_notes"]."\","."\"".$_REQUEST["date_asq"]."\")";

Создайте переменную для хранения результата функции mysql_query ( ) :

 

$result=@mysql_query($sql, $connection) or die ("Невозможно выполнить запрос");

 

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

 

?>

Начните блок HTML:


Чтобы добавить на страницу заголовок, поясняющий пользователю происходящее действие, введите код:

 

<H1>Добавление записи в <?php echo "$table_name"; ?></H1>

 

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

 

<TABLE CELLSPACING=3 CELLPADDING=3>

<TR>

<TD VALIGN=TOP>

<p><STRONG>Номер записи ID: </STRONG></BR>

<?php echo "$id"; ?></p>


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

 

<p><strong>Дата (ГГГГ-ММ-ДД) : </STRONG><BR>

<?php echo "$date_asq"; ?></p>

</TD>

 

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

 

<TD VALIGN=TOP>

<p><STRONG>Формат записи: </STRONG><BR>

<?php echo "$format"; ?></p>

</TD></TR>

 

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

 

<TR>

<TD VALIGN=TOP>

<p><STRONG>Название записи : </STRONG><BR>

<?php echo "$title"; ?></p>

</TD>

 

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

 

<TD VALIGN=TOP>

<p><STRONG>Студия звукозаписи : </STRONG><BR>

<?php echo "$rec_label"; ?></p>

</TD></TR>

 

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

 

<TR><TD VALIGN=TOP>

<p><STRONG>Имя исполнителя : </STRONG><BR>

<?php "$artist_fn"; ?></p></TD>

 

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

<TD VALIGN=TOP>

<p><STRONG>Имя исполнителя (Группа) : </STRONG><BR>

<?php "$artist_ln"; ?></p>

</TD></TR>

 

Чтобы начать новую строку HTML-таблицы с двумя объединенными ячейками, в которых будут отображаться ваши замечания, введите код:

 

<TR>

<TD VALIGN=TOP COLSPAN=2 ALIGN=CENTER>

<p><STRONG>Мои заметки: </STRONG><BR>

<?php echo stripslashes ($my_notes); ?></p>

 

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

 

Добавьте ссылку на первоначальную форму для ввода следующей записи:

 

 

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

 

 

Сохраните созданный файл с именем do_addrecord.php в папке для документов вaшего Web-сервера.

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

 

 

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


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

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