Страница
списка высказываний
Итак,
приступим!
Давайте
сначала подумаем над структурой нашей базы данных. Ведь если мы этого не сделаем,
то ее (структуру) придется придумывать по ходу дела. А так никто не делает —
вспомните, ведь строители перед тем, как начать строить что-либо, всегда сверяются
с планом.
Пусть
все высказывания, хранящиеся в нашей библиотеке, делятся на три категории: умные,
глупые и нейтральные, (Возможно, потом появятся другие категории, но сейчас
нам вполне хватит этих трех.) Таким образом, мы позволим посетителю нашего будущего
сайта сразу же при входе выбрать то, что ему нужно, т. е. когда посетитель зайдет
на наш сайт, он сразу же получит возможность выбрать на особой странице одну
из категорий, после чего перейдет на другую страницу, где будут перечислены
высказывания выбранной им категории.
Сейчас
же мы не будем делить высказывания на категории, а выведем их в одном списке
вперемешку. Не стоит слишком усложнять наш первый сайт, иначе мы толком ничему
не научимся.
Вы
спросите, а как же разграничение доступа? Где страница входа на сайт? Это успеется.
Сначала сделаем основные страницы, отображающие и изменяющие информацию, хранящуюся
в нашей базе, а потом займемся безопасностью. На данном этапе ей можно пренебречь.
Откроем
Access и создадим базу данных под названием Library.mdb. В ней создадим таблицу
categories с полями ID (счетчик) и Name (текстовое, 30 знаков). Первое поле
послужит нам ключевым, а во втором, как вы уже поняли, будут храниться имена
категорий. После этого введем в эту таблицу три записи: "Умные", "Нейтральные"
и "Глупые".
Далее
создадим таблицу, где будут храниться наши высказывания. Эта таблица будет содержать
следующие поля:
Назовем
эту таблицу sentences. Введем какую-нибудь запись для отладочных целей, не обязательно
осмысленную. И закроем Access — больше он нам не понадобится.
Вы
уже знаете, как создается источник данных ODBC. Если не знаете, обратитесь к
главе 17, где это подробно описано. Наш новый источник данных будет называться
Library и предоставлять доступ к базе данных Library.mdb.
После
этого создадим новую папку Sample4. В ней будут находиться файлы нашего нового
сайта Sample site 4. В папке Sample4 создадим вложенную папку Admin, в которой
будут храниться административные страницы сайта. Зарегистрируем наш новый сайт
в Dreamweaver, задав те же данные, что и для сайта Sample site 1 в главе 17.
Зарегистрируем базу данных Library.mdb в Dreamweaver, воспользовавшись только
что созданным источником Library. На этом подготовительные действия закончились.
Создав
таблицу, приступим к созданию серверной страницы. Назовем ее так же, как таблицу,
— Sentences.asp. Введем какой-нибудь пояснительный текст, если вдруг у нас появится
такое желание. И сохраним ее в папке Admin, вложенной в корневую папку нашего
сайта.
После
этого создадим набор записей sentences, извлекающий данные из только что созданной
таблицы. Причем этот набор будет сложным: он свяжет вместе таблицы sentences
и Categories, "заимствуя" из первой таблицы поля ID и Content, а из
второй — поле Name. Связь будет осуществляться по полю Category таблицы Sentences
И ПОЛЮ ID табЛИЦЫ Categories. Создайте этот набор записей, а в случае затруднений
справьтесь в главе 17. Не задавайте для этого набора ни фильтра, ни сортировки.
Текст SQL-запроса должен быть таким:
SELECT
Sentences.ID, Content, Name FROM Sentences, Categories WHERE Sentences.Category=Categories.ID
Запись
вида "Sentences.ID" означает, что мы выбираем значения поля ID таблицы
Sentences.
Поскольку
мы будем отображать одновременно два значения, будет лучше создать для этого
таблицу. Эта таблица должна содержать две строки и четыре столбца. В первой
строке будет находиться "шапка", а во второй -собственно содержимое.
(Как вы поняли, вторую строку придется поместить в повторяющуюся область.) В
первом столбце таблицы будет отображаться содержание высказывания, а во втором
— категория (в смысле, название категории), а последние два столбца мы пока
оставим пустыми. Создайте такую таблицу и отформатируйте, как хотите.
Теперь
поместите в первую ячейку второй строки этой таблицы динамический текст, привязанный
к полю Content набора записей, а во вторую ячейку — динамический текст, привязанный
к полю Name. Далее выделите всю вторую строку, щелкнув по соответствующей кнопке
секции тегов, и создайте "вокруг" нее повторяющуюся область, связанную
с набором данных sentences. Задайте количество одновременно отображаемых записей
равным двадцати.
Поскольку
мы создали повторяющуюся область, отображающую за раз фиксированное количество
записей, нам нужно также создать навигатор и строку статуса. Сделайте это, сверяясь
с главой 17, где создание навигатора и строки статуса было подробно описано,
и поместите их под таблицей.
Теперь
остается только создать "вокруг" таблицы, навигатора и строки статуса
необязательную область, показываемую только тогда, когда в наборе sentences
есть записи. И поместить на странице еще одну необязательную область, отображаемую
при отсутствии записей в наборе и содержащую текст, говорящий об этом. Создайте
эти области.
Вот
и все. Наша страница готова. Можете проверить ее, переключив Dreamweaver в режим
показа "живых" данных или загрузив страницу в Web-обозревателе.
К
несчастью, в таблице Sentences находится только одна запись. Но мы сейчас это
исправим.