Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
METODA_2.DOC
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
98.3 Кб
Скачать

2.2 Разработка скрипта обработки данных формы и внесения записей в таблицу базы данных

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

1

2

3

4

5

6

7

8

9

<html>

<head>

<title></title>

</head>

<body>

<?php

$pauthor = $_POST['author'];

$ptitle = $_POST['title'];

$psection = $_POST['section'];

$pmag_y = $_POST['mag_y'];

$pmag_n = $_POST['mag_n'];

trim($pauthor);

trim($ptitle);

trim($psection);

if (!$pauthor || !$ptitle || !$psection || !$pmag_y || !$pmag_n)

{

echo("Проверьте правильность заполнения полей!");

exit;

}

$db = mysql_connect("localhost","root")

or die ("Невозможно соединится с MySQL!");

mysql_select_db("TSC", $db)

or die ("Невозможно выбрать таблицу данных!");

$query = "INSERT INTO magazine VALUES (NULL, '".$pauthor."', '".$ptitle."', '".$psection."', '".$pmag_y."', '".$pmag_n."')";

$result = mysql_query($query, $db);

if ($result)

echo(mysql_affected_rows()." запись(ей) добавлена(о) в базу.");

else

echo("Невозможно выполнить запрос!");

mysql_close($db);

?>

</body>

</html>

1 – Запись содержимого полей ввода формы, заполненной пользователем, в соответствующие переменные;

2 – Удаление лишних пробелов в начале и в конце текстовых строк;

3 – Проверка наличия переданных данных;

4 – С помощью функции mysql_connect осуществляем соединение с сервером баз данных MySQL. В качестве имени хоста передаем localhost, а в качестве имени пользователя – root. Это стандартный метод при отладке работы web-сайтов с поддержкой баз данных, поэтому следует все параметры оставить без изменения.

5 – Если подключение к серверу базы данных прошло успешно, далее следует выбрать нужную базу данных. Делается это с помощью функции mysql_select_db. В качестве параметров функция принимает имя таблицы данных и переменную-идентификатор связи с базой данных.

6 – Создается переменная в которой будет содержаться строковое значение – sql запрос к базе данных на добавление новой записи в таблицу данных.

7 – С помощью функции mysql_query выполняем sql-запрос.

8 – Проверяем успешность выполнения запроса.

9 – Закрываем соединение с базой данных с помощью функции mysql_close.

2.3 Разработка скрипта – запроса к базе данных

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

1

2

3

4

5

6

<html>

<head>

<title></title>

</head>

<body >

<?php

$psection = $_POST['section'];

trim($psection);

$db = mysql_connect("localhost","root")

or die ("Невозможно соединится с MySQL!");

mysql_select_db("TSC", $db)

or die ("Невозможно выбрать базу данных!");

$query = "SELECT magazine.author, magazine.title, magazine.mag_y, magazine.mag_n FROM magazine WHERE (magazine.section = '".$psection."');";

$result = mysql_query($query, $db);

if (!$result)

echo("Невозможно выполнить запрос!");

while ($rerow = mysql_fetch_row($result))

{

echo($rerow[0]. "<br>". $rerow[1]. "<br>". $rerow[3]. "/". $rerow[2]. <br>");

}

mysql_free_result($result);

mysql_close($db);

?>

</body>

</html

1 – Получение значения параметра, по которому будет проведена выборка из базы данных;

2, 3 – Соединение с сервером базы данных и выбор базы;

4 – SQL-запрос к базе данных;

5 – Обработка результата запроса.

6 – Освобождение памяти, занимаемой результатом запроса.

После выполнения функции mysql_query возвращается идентификатор результата в случае успешного выполнения и false в случае неудачи. Этот идентификатор обязательно нужно сохранить, для того чтобы в дальнейшем была возможность обработать результат выполнения запроса. Сам результат всегда представляется как набор строк (если запрос выполнен успешно и есть записи удовлетворяющие требованиям запроса). Каждая строчка результата запроса может быть представлена как нумерованный массив с помощью функции mysql_fetch_row. В дальнейшем, обращение к полям может быть осуществлено с помощью индекса. Следует помнить, что цикл, в котором происходит перебор всех записей результата запроса, не будет выполнен ни разу, если в результате запроса не содержится ни одной строки. После обработки строк запроса рекомендуется освободить отведенную под него память с помощью функции mysql_free_result.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]