
- •Цели и задачи лабораторной работы
- •Синтаксис php
- •Комментарии
- •Присвоение значений переменным
- •Некоторые операции
- •Некоторые операторы
- •Работа с массивами
- •Работа с MySql
- •Функция mysql_connect
- •Функция mysql_close
- •Функция mysql_select_db
- •Функция mysql_query
- •Функция mysql_fetch_array
- •Функция mysql_result
- •Функция mysql_fetch_object
- •Функция mysql_fetch_row
- •Ход работы
Функция 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']."
  </td><td>".$author['email']." </td><td>".
$author['url']." </td></tr>";
}
echo "</table>";
}
else
{
echo "<p><b>Error: ".mysql_error()."</b><p>";
exit();
}
?>
Функция 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();
}
?>
Функция 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();
}
?>
Функция 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();
}
?>
Приведенный набор функций является базовым и полностью покрывает все поставленные в работе задачи.
Ход работы
Создайте динамический WEB-сайт на основе макета, созданного в предыдущей лабораторной работе, с использованием языка PHP.
Придумайте любую сущность, с любым количеством полей и создайте для нее таблицу MySQL.
Создайте страницу представляющую экземпляры сущности.
Создайте форму и обработчик, позволяющий добавлять экземпляры сущности.
Добавьте возможность удаления экземпляров сущности.
Контрольные вопросы
Каким образом вставить конструкции PHP в HTML-документ?
Каким образом обеспечить, чтобы встречающиеся в строке переменные были заменены их значениями?
Каковы правила определения функций в языке PHP?
Каковы особенности передачи значений переменных из HTML-формы в переменные PHP?
Каким образом осуществляется взаимодействие с базами данных в языке PHP?
Самойлов Алексей Николаевич
Кучеров Сергей Александрович
Методические указания к лабораторной работе №3
Разработка WEB-приложения с использованием языка PHP и СУБД MySQL
по курсу
Интернет-Интранет технологии
Редактор Чиканенко Л.В.
Корректор Надточий З.И.
ЛР № 020565 от 23.06.97 г. Подписано к печати
Печать офсетная. Бумага офсетная.
Усл. п. л. – 1,0 Уч.-изд. л. – 0,9
Заказ № Тираж 100 экз.
Издательство Технологического института
Южного федерального университета
ГСП 17А, Таганрог, 28, Некрасовский, 44
Типография Технологического института
Южного федерального университета
ГСП 17А, Таганрог, 28, Энгельса, 1