Назад | Начало урока | Вперед
Содержание

Глава 23

Описание города

Подсказка

Нижеуказанный сценарий получает по ссылке название страны и города (учтите, что города
в разных странах могут называться одинаково). Метод show_description() класса city
унаследован от класса country, поэтому в отдельных комментариях не нуждается.

Листинг 23.6 display_city.php - описание города


<?php
// Автозагрузка класса
function __autoload($class) {
// Подключение файла с именем "class_имя_класса.php"
include("class_" . $class . ".php");
}
$page= new hat_foot;
$page->hat();

$city = $_GET['name'];
$country = $_GET['strana'];
echo "Страна :".$country." Город: ".$city."<br/>";
$gorod= new city($city);
echo $gorod->show_description($country);
$page->footer();
$gorod->connect_close();

?>


/*
Метод show_description() выводит описание объекта
Выборка данных производится из таблицы, имя которой
определяется в зависимости от класса, из которого
вызывается метод
*/

function show_description ($country=NULL) {

if ($this instanceof country) $quest="SELECT description FROM countries
WHERE name=\"$this->name\"";

if ($this instanceof city) $quest="SELECT description FROM cities
WHERE name=\"$this->name\" AND country=\"$country\" ";

// Запрос описания объекта - страны или города
if ($result = $this->connection->query ($quest)) {
$row = $result->fetch_assoc();
$opisanie = $row['description'];
}
$result->close();
return $opisanie;
}

Код html-страницы:


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0059)http://localhost/display_city.php?name=Москва&strana=Россия -->
<HTML><HEAD><TITLE>Магазин путешествий</TITLE>
<META http-equiv=Content-Type content="text/html; charset=windows-1251">
<META content="MSHTML 6.00.2900.2523" name=GENERATOR></HEAD>
<BODY>
<DIV align=right><IMG height=50 src="display_sity.files/title.gif"
width=300></DIV>Страна :Россия Город: Москва<BR>Описание города
<P><IMG height=40 src="display_sity.files/footer.gif"
width=400></P></BODY></HTML>


Назад | Начало урока | Вверх | Вперед
Содержание

Hosted by uCoz