Страница для одновременного просмотра нескольких записей
Ох и хорошая у нас получилась серверная страничка! (Не смотрите, что выглядит она весьма коряво, ведь сейчас наша задача – научиться писать серверные страницы. Впрочем, Web-дизайн мы уже "прошли", так что можете по ходу дела заняться украшательством.) Одно плохо – показывает она только одну запись набора. Конечно, мы создали навигатор и строку статуса набора данных, но толку от них не очень много. Вот как бы нам "запихать" на одну страничку сразу несколько записей!..
Что, вы хотите несколько записей на одной странице? Запросто!
Создайте новую серверную страницу и сохраните ее в файле Guestbook_table.asp. Именно ее мы и превратим в чудо современного программистского искусства, показывающего несколько записей одновременно.
Первым делом создадим набор данных с такими же, как и у страницы Guestbook.asp, параметрами. Назовем его так же – Guestbook. После этого поместим на страницу динамический текст, привязанный к полю content набора данных. И напоследок поставим текстовый курсор в конце этого динамического текста и нажмем клавишу Enter. Все это вам уже знакомо.
А теперь остановимся. И поговорим.
Что мы видим в окне документа? Ничего странного – просто серверная Web-страница, похожая на созданную нами ранее Guestbook.asp. Набор данных, динамический текст – и все. Если теперь открыть ее в Web-обозревателе, она отобразит нам одну-единственную запись. Мы уже это наблюдали.
Да, но нам нужны несколько записей на одной странице!
Для этого нам поможет уже знакомая вам возможность, предлагаемая Dreamweaver специально для таких случаев, – повторяющаяся область.
Да-да, нашу серверную страничку можно уподобить шаблону! В самом деле, в Dreamweaver мы создали своего рода образец Web-страницы, который в дальнейшем будет наполняться полезным содержимым. Только делать это будет не Web-дизайнер, а серверный сценарий. И данные он будет брать не из своей головы (или головы Web-писателя), а из базы данных.
Чтобы создать повторяющуюся область, сначала выделите фрагмент страницы, который станет ее содержимым. В нашем случае – это динамический текст, привязанный к полю Content набора данных. Затем выберите пункт Repeat Region меню серверных поведений панели Server Behaviors. После этого на экране появится диалоговое окно Repeat Region.
В раскрывающемся списке Recordset выберите набор данных, из которого будут извлекаться записи.
Если вы хотите, чтобы на странице отображались все записи набора данных, включите переключатель All Records группы Show. Это стоит делать тогда, когда вы уверены, что записей в вашем наборе не очень много, или если содержимое их невелико по размеру. В противном случае лучше всего показывать содержимое набора данных по частям; для этого включите верхний переключатель группы Show и введите количество одновременно отображаемых записей в поле ввода Records at a Time.
Давайте сделаем нашу страничку как можно меньше. Для этого зададим количество одновременно отображаемых записей, равное трем. Это позволит нам не вводить слишком много отладочных записей в таблицу Guestbook базы данных Guestbook.mdb.
Введя все данные, нажмите кнопку ОК. Если вы передумали создавать повторяющуюся область, нажмите кнопку Cancel.
Теперь осталось добавить к нашей странице навигатор. Конечно, это будет не такой навигатор, который мы создали ранее. В данном случае нам нужно перемещаться не от записи к записи, а от страницы к странице. Но вам не нужно об этом беспокоиться – все хлопоты по отсчету необходимого количества записей возьмет на себя Dreamweaver. Поэтому просто создайте навигатор, как мы делали это раньше.
Если хотите, вы можете создать также строку статуса для набора данных. Здесь вам понадобятся оба системных поля, отображающих количество показываемых на странице записей: [first record index] и [last record index]. Как вы помните, первое из них показывает номер первой записи, присутствующей на странице, а вторая – номер последней из показываемых записей.
Осталось сказать о параметрах повторяющейся области. Чтобы задать их, выделите нужную повторяющуюся область и посмотрите на редактор свойств.
Единственный элемент управления, который стоит здесь рассмотреть, – это поле ввода Repeat Region. В нем задается имя повторяющейся области. Остальные элементы управления знакомы вам по диалоговому окну Repeat Region.