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

Глава 23

Ввод данных об отеле

Если пользователь (администратор) на странице admin_insert.php выберет опцию "Добавить
сведения об отеле", и нажмет ОК, то эта страница примет новый вид, так как будет
выполняться новая ветвь того-же сценария, где можно добавить эти сведения об отеле:

Подсказка

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


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0047)http://localhost/admin_insert.php?format=hotels -->
<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="admin_insert92.files/title.gif"
width=300></DIV>Введите данные:
<TABLE border=0>
<FORM action=insert_hotel.php method=post><INPUT type=hidden value=hotels
name=tbl>
<TBODY>
<TR>
<TD><INPUT value="Название страны" name=strana></TD></TR>
<TR>
<TD><INPUT value="Название города" name=gorod></TD></TR>
<TR>
<TD><INPUT value="Название отеля" name=hotel></TD></TR>
<TR>
<TD><TEXTAREA name=descr rows=3 cols=40>Описание отеля</TEXTAREA></TD></TR>
<TR>
<TD><INPUT value="Класс отеля в *" name=stars></TD></TR>
<TR>
<TD><INPUT value="Имя файла с фото" name=foto></TD></TR>
<TR>
<TD><INPUT type=submit value=OK></TD></TR></TBODY></TABLE></FORM>
<P><IMG height=40 src="admin_insert92.files/footer.gif"
width=400></P></BODY></HTML>

После заполнения формы и нажатия ОК администратор попадает на страницу
insert_hotel.php. Этот сценария делает запись об отеле в БД
и сообщает об успешности или неуспешности этого действия.

Листинг 23.10 insert_hotel.php - запись данных об отеле в базу


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

$strana = $_POST['strana'];
$gorod=$_POST['gorod'];
$gostinitsa=$_POST['hotel'];
$description = $_POST['descr'];
$stars=$_POST['stars'];
$foto=$_POST['foto'];

$hotel = new hotel($gostinitsa);
$hotel->insert_hotel($strana, $gorod, $gostinitsa, $description, $stars, $foto);
$page->footer();
$hotel->connect_close();


?>

Напомню функцию insert_hotel():

function insert_hotel($strana, $gorod, $hotel, $description, $stars, $foto) {

$request="SELECT id from cities where name=\"$gorod\" AND country=\"$strana\"";

if ($result = $this->connection->query ($request) ) {

$city = $result->fetch_assoc();
$city_id = $city['id'];

$request = "INSERT INTO hotels (name, description, photoes, stars,city)

VALUES (\"$hotel\", \"$description\", \"$foto\", \"$stars\",\"$city_id\")";

if ($result = $this->connection->query ($request)) {
echo "Запись об отеле выполнена.";
}
else {
echo "Запись не выполнена. Пожалуйста, проверьте вводимые данные.";
}
}
else {
echo "Ошибка в запросе. Пожалуйста, проверьте вводимые данные.";
}
}


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

Hosted by uCoz