Спецкурс
«Интернет-технологии»

Задание для итоговой оценки по спецкурсу

I. Сдать все лабораторные работы (11).

II. Средствами РНР сделать сайт «Каталог бытовой техники»:

Этот Ý дизайн (цветовое решение) копировать не нужно!!! Придумайте свой вариант.

Но, обязательно, должно быть следующее:

1. В левом столбце сайта сверху — это гиперссылки (например, вида script1.php?category=frost) на соответствующие категории товаров. Причем выбранная категория выделяется иначе, чем остальные (в данном случае это "Холодильники" — наведите мышку на это слово на картинке Ý).

Ниже идет поиск по фирме-производителю, т.е. при щелчке по соответствующей гиперссылке (вида script2.php?firma=Ariston&category=all) выдается полный список товаров данной фирмы (вне зависимости от категории).

2. Правый столбец сайта — поиск по фирме-производителю, но уже строго в пределах выбранной категории товаров
(script2.php?firma=Ariston&category=frost). Здесь, когда фирма выбрана — ее название становится просто текстом, а не гиперссылкой.

Внизу отображаются текущие день недели, число месяц и год (средствами РНР), а также курс доллара.

3. В среднем столбце сперва отображается некое приветствие (придумайте сами), а потом все товары выбранной категории. Если же был выполнен поиск по фирме-производителю в данной категории, то, соответственно, товары этой фирмы.

Здесь же предусмотреть возможность сортировки при отображении товаров как по названию модели (алфавитный/обратный к алфавитному порядок), так и по цене (по убыванию/возрастанию). Если стоит стрелка «вниз» т.е. по убыванию (файл down.gif из папки photo), то при щелчке по ней мышкой стрелка заменяется на противоположную — «вверх» т.е. по возрастанию (файл up.gif из папки photo).

4. Для кажого товара приводится:

При щелчке мышки по фото должно открываться вспомогательное окошко с большой фотографией — сделать средствами JavaScript.

Теперь как это все должно быть сделано.

Вся информация о товарах хранится в СУБД MySQL, в базе данных study, в таблице goods_NNN (где NNN — первые 3-4 латинских буквы вашей фамилии, напр. goods_kov).

В этой таблице должны быть такие поля:

Заполненная таблица goods_NNN должна быть такой ß (кроме последнего столбца Файлы с фото — его в таблице нет! Здесь он приведен только для справки). Значения поля id тоже могут быть другими.

idcategory
(категория)
code
(код)
firma
(фирма)
model
(модель)
description
(описание)
price
(цена)
Файлы
с фото
1frost
{Тип: Холодильник}
ar1 AristonMB 1167 NF Высота: 167
Цвет: Белый
Расположение морозильной камеры: Низ
Количество компрессоров: 1
11556,00ar1.jpg,
ar1-b.jpg
2frostar2 AristonMTA 1167 Высота: 167
Цвет: Серебристый, Белый, Нержавеющая сталь
Расположение морозильной камеры: Верх
Количество компрессоров: 1
11485,00ar2.jpg,
ar2-b.jpg
3frostel3 ElectroluxENB 3269 Высота: 185
Цвет: Белый
Расположение морозильной камеры: Низ
Количество компрессоров: 1
11974,00 el3.jpg,
el3-b.jpg
4frostel4 ElectroluxERB 4199 Высота: 200
Цвет: Нержавеющая сталь
Расположение морозильной камеры: Низ
Количество компрессоров: 2
27768,00el4.jpg,
el4-b.jpg
5frostsa5 SamsungRT-29 BVMS Высота: 156
Цвет: Серебристый
Расположение морозильной камеры: Верх
Количество компрессоров: 1
11441,00 sa5.jpg,
sa5-b.jpg
6frostsa6 Samsung RL-28DBSI Высота: 175
Цвет: Серебристый
Расположение морозильной камеры: Низ
Количество компрессоров: 1
11495,00 sa6.jpg,
sa6-b.jpg
7wash
{Тип: Стиральная машина}
ar7 AristonAVSD 109 S Тип стиральной машины: Узкая
Тип загрузки: Фронтальная
Скорость отжима: 1000
Загрузка, (макс.): 5
Материал бака: Нержавеющая сталь
Цвет: Серебристый
11533,00 ar7.jpg,
ar7-b.jpg
8washar8 AristonAV 102 Тип стиральной машины: Полноразмерная
Тип загрузки: Фронтальная
Скорость отжима: 1000
Загрузка, (макс.): 5
Материал бака: Полиплекс
Цвет: Белый
11411,00ar8.jpg,
ar8-b.jpg
9washel9 ElectroluxEWS 800 Тип стиральной машины: Узкая
Тип загрузки: Фронтальная
Скорость отжима: 800
Загрузка, (макс.): 4
Материал бака: Карборан
Цвет: Белый
11423,00el9.jpg,
el9-b.jpg
10washel10 ElectroluxEWF 1234 Тип стиральной машины: Полноразмерная
Тип загрузки: Фронтальная
Скорость отжима: 1200
Загрузка, (макс.): 5
Материал бака: Карборан
Цвет: Белый
11557,00el10.jpg,
el10-b.jpg
11washsa11 SamsungWF-J1054 Тип стиральной машины: Полноразмерная
Тип загрузки: Фронтальная
Скорость отжима: 1000
Загрузка, (макс.): 7
Цвет: Белый
11414,00sa11.jpg,
sa11-b.jpg
12washsa12 SamsungS803J Тип стиральной машины: Узкая
Тип загрузки: Фронтальная
Скорость отжима: 800
Загрузка, (макс.): 3.5
Материал бака: Пластик (композитный материал)
Цвет: Серебристый, Золотой, Белый, Голубой,
Перламутровый, Шампанское
8331,00sa12.jpg,
sa12-b.jpg
13micro
{Тип: Микроволновая печь}
ar13 AristonMW 212 Цвет: Чёрный, Белый
Гриль: Есть
Управление: механическое
Объем камеры: 23
Конвекция: Нет
8267,34ar13.jpg,
ar13-b.jpg
14microar14 AristonMWO 323 IX Цвет: Нержавеющая сталь
Гриль: Есть
Управление: электронное
Объем камеры: 30
Конвекция: Есть
11675,00ar14.jpg,
ar14-b.jpg
15microel15 ElectroluxEMS 2390 Цвет: Серебристый, Белый
Гриль: Есть
Управление: Электронное
Объем камеры: 23
Конвекция: Нет
6197,00el15.jpg,
el15-b.jpg
16microel16 ElectroluxEMM 1900 Цвет: Серебристый
Гриль: Нет
Управление: механическое
Объем камеры: 19
Конвекция: Нет
2185,38el16.jpg,
el16-b.jpg
17microsa17 SamsungCE1190R Цвет: Нержавеющая сталь
Гриль: Есть
Управление: Тактовое
Объем камеры: 32
Конвекция: Есть
6290,00sa17.jpg,
sa17-b.jpg
18microsa18 SamsungC106R Цвет: Белый
Гриль: Есть
Управление: Сенсорное
Объем камеры: 28
Конвекция: Есть
6206,00 sa18.jpg,
sa18-b.jpg

Значения в поле code скопируйте в точности мои, т.к. фактически это имена файлов с фотографиями (маленькой и большой) каждого товара.
Сами фотографии находятся в папке photo на сервере:
http://10.2.11.106/~studphp/photo/

Копировать из этой папки файлы не следует! В команде <img> нужно просто указать путь к файлам в виде src=/~studphp/photo/ar1.jpg и т.п.

Обратите внимание, что при отображении на экране описания товара строчка «Тип: ...» формируется в зависимости от значения поля category.

Все страницы сайта должны иметь единый дизайн, реализованный средствами CSS. А структура страницы — это такие блоки:

Левое
меню

Категория

Информация о товаре

Информация о товаре

Правое
меню

Скрипт, отображающий страницы каталога должен быть составным, т.е. иметь примерно такой вид:

<?php
include("file-1.inc"); // задание стилей CSS
include("file-2.inc"); // подключение к базе данных
include("file-3.inc"); // вывод страницы каталога
include("file-4.inc"); // отключение от базы данных
?>

т.е. дизайн должен быть отделен от контента (содержания страниц)!!!

Если вы делаете сайт сперва на Денвере, то в файле подключения к базе данных обязательно предусмотрите строку с логином-паролем для сервера 10.2.11.106 (которую нужно закомментарить).

Помимо клиетской части (отображение страниц каталога) обязательно должна быть и администраторская часть (в виде html-форм), позволяющая как добавлять новые данные в таблицу goods_NNN, так и исправлять существующую информацию. В частности, для создания таблицы goods_NNN и ее заполнения исходными данными должен быть сделан отдельный скрипт.

Гиперссылку (открывающуюся в новом окне автоматически!) для входа в администраторскую часть сделайте «невидимой» (т.е. того же цвета, что и фон) в левом нижнем углу сайта — наведите мышку на это место на образце сайта. А сам вход должен быть запаролен на основе http-аутентификации:

header("WWW-Authenticate: Basic realm=\"Вход в админ\""); Увеличить фото Увеличить фото Категория товаров - гиперссылка Категория товаров - гиперссылка Это гиперссылка выбранной категории Это гиперссылка Это гиперссылка Это гиперссылка Это гиперссылка Это гиперссылка А это просто текст, а не гиперссылка Здесь спрятан вход в админ