Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабы ИИТ / No.4925. Самойлов А.Н., Кучеров С.А. ИИТ-3.doc
Скачиваний:
67
Добавлен:
01.06.2015
Размер:
150.53 Кб
Скачать
      1. Функция mysql_fetch_array

array mysql_fetch_array (resource result)

Эта функция возвращает значения полей в виде ассоциативного массива, в качестве аргумента принимает дескриптор запроса возвращаемый функцией mysql_query. Вот как с помощью этой функции можно вывести все строки таблицы authors:

<?php

include "config.php";

$ath = mysql_query("select * from authors;");

if($ath)

{

// Определяем таблицу и заголовок

echo "<table border=1>";

echo "<tr><td>имя</td><td>пароль</td><td>e-mail</td><td>url</td></tr>";

// Так как запрос возвращает несколько строк, применяем цикл

while($author = mysql_fetch_array($ath))

{

echo "<tr><td>".$author['name']." </td><td>".$author['passw']."

&nbsp </td><td>".$author['email']." </td><td>".

$author['url']." </td></tr>";

}

echo "</table>";

}

else

{

echo "<p><b>Error: ".mysql_error()."</b><p>";

exit();

}

?>

      1. Функция mysql_result

mixed mysql_result (resource result, int row)

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

<?php

include "config.php";

$ath = mysql_query("select name from authors;");

if($ath)

{

echo mysql_result($ath,0,'name');

}

else

{

echo "<p><b>Error: ".mysql_error()."</b><p>";

exit();

}

?>

      1. Функция mysql_fetch_object

object mysql_fetch_object (resource result)

Эта функция возвращает поля записи данных в виде объекта. Ниже приведен пример, в котором с помощью этой функции из таблицы authors выводятся имя, URL и e-mail авторов.

<?php

include "config.php";

$ath = mysql_query("select * from authors;");

if($ath)

{

while($row = mysql_fetch_object($ath))

{

echo "<p>name: ".$row->name."</p>";

echo "<p>url: ".$row->url."</p>";

echo "<p>email: ".$row->email."</p>";

}

}

else

{

echo "<p><b>Error: ".mysql_error()."</b><p>";

exit();

}

?>

      1. Функция mysql_fetch_row

array mysql_fetch_row (resource result)

В отличие от функции mysql_fetch_object, эта функция возвращает не объект, а массив, в котором содержатся значения полей:

<?php

include "config.php";

$ath = mysql_query("select * from authors;");

if($ath)

{

while($row = mysql_fetch_row($ath))

{

echo "<p>name: ".$row[1]."</p>";

echo "<p>url: ".$row[4]."</p>";

echo "<p>email: ".$row[3]."</p>";

}

}

else

{

echo "<p><b>Error: ".mysql_error()."</b><p>";

exit();

}

?>

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

  1. Ход работы

  1. Создайте динамический WEB-сайт на основе макета, созданного в предыдущей лабораторной работе, с использованием языка PHP.

  2. Придумайте любую сущность, с любым количеством полей и создайте для нее таблицу MySQL.

  3. Создайте страницу представляющую экземпляры сущности.

  4. Создайте форму и обработчик, позволяющий добавлять экземпляры сущности.

  5. Добавьте возможность удаления экземпляров сущности.

Контрольные вопросы

  1. Каким образом вставить конструкции PHP в HTML-документ?

  2. Каким образом обеспечить, чтобы встречающиеся в строке переменные были заменены их значениями?

  3. Каковы правила определения функций в языке PHP?

  4. Каковы особенности передачи значений переменных из HTML-формы в переменные PHP?

  5. Каким образом осуществляется взаимодействие с базами данных в языке PHP?

Самойлов Алексей Николаевич

Кучеров Сергей Александрович

Методические указания к лабораторной работе №3

Разработка WEB-приложения с использованием языка PHP и СУБД MySQL

по курсу

Интернет-Интранет технологии

Редактор Чиканенко Л.В.

Корректор Надточий З.И.

ЛР № 020565 от 23.06.97 г. Подписано к печати

Печать офсетная. Бумага офсетная.

Усл. п. л. – 1,0 Уч.-изд. л. – 0,9

Заказ № Тираж 100 экз.

Издательство Технологического института

Южного федерального университета

ГСП 17А, Таганрог, 28, Некрасовский, 44

Типография Технологического института

Южного федерального университета

ГСП 17А, Таганрог, 28, Энгельса, 1