Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лр4.doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
1.97 Mб
Скачать

Подключение базы news

Подключим базу данных news к сайту. Откроем панель Databases с помощью команды меню Window -> Databases. Нажмем на кнопку “+” в левом верхнем углу панели и выполним команду MySQL Connection. В открывшемся окне установим параметры по образцу.

Connection name - название соединения (может быть любым).

MySQL server - адрес сервера базы данных

User name - имя пользователя базы данных.

Password - пароль доступа к базе данных.

Database - название базы данных.

Создание поведений

Далее зададим поведения (Behaviors) для каждой из создаваемых страниц. Начнем с add_news.php.

Откроем панель Server Behaviors с помощью команды меню Window -> Server Behaviors. Нажмем на кнопку “+” в левом верхнем углу панели и выполним команду Insert Record. Это поведение вставляет запись в базу данных. Значения из каждого поля формы со страницы переносятся в соответствующее поле в базе данных. Зададим параметры как на рисунке и нажмем кнопку ОК.

В раскрывающемся списке Connection выбирается нужная база данных, а в раскрывающемся списке Insert Table — таблица, куда будет добавлена запись.

Список Columns перечисляет все поля выбранной таблицы и соответствующие им элементы управления формы. Можно выбрать в нем любое поле и задать для него элемент управления и тип данных с помощью раскрывающихся списков Value и Submit as соответственно.

В поле ввода After Inserting, go to вводится интернет-адрес Web-страницы, на которую будет выполнен переход после успешного добавления записи в таблицу. Также можно нажать кнопку Browse и выбрать нужный файл в диалоговом окне Select File.

В раскрывающемся списке Submit Values From выбирается форма, из которой берутся значения для новой записи. Тип отправляемых данных указывается в раскрывающемся списке Submit As. В нем доступны следующие пункты:

Text — текстовые данные;

Numeric — числовые данные;

Date — значение даты;

Date MS Access — значение даты, предназначенное для Microsoft Access;

Checkbox Y,N — логическое значение, преобразуемое в символы Y" ("да") или "N" ("нет");

Checkbox 1,0 — логическое значение, преобразуемое в числа 1 ("да") или 0 ("нет");

Checkbox -1,0 — логическое значение, преобразуемое в числа -1 ("да") или 0 ("нет");

Checkbox MS Access - логическое значение, предназначенное для Microsoft Access.

. После нажатия ОК в списке панели Server Behaviors появится новое поведение.

Создание наборов данных и повторяющегося региона

Откроем страницу index.php.

Создадим набор данных Recordset. Набор данных — это условие выборки данных с указанием таблиц и полей, из которых будут извлекаться данные. При этом также возможно задание фильтра — условия отбора данных из записей.

Откроем панель Bindings с помощью команды Window -> Bindings. Нажмем на кнопку “+” в левом верхнем углу панели и выполним команду Recordset (Query). Заполним поля открывшегося окна в соответствии с рисунком.

Далее вставим между тэгами body код цикла, выводящего из базы данных все новости.

Для этого выполняем команду меню Insert -> Application Objects -> Repeated region или выбираем поведение Repeat region на панели Server Behaviors. В появившемся окне устанавливаем необходимые параметры.

Воспользуемся созданным набором данных Recordset. Чтобы автоматически вставить теперь уже в тело цикла необходимый код для отображения записей из таблицы news, достаточно просто перетащить мышью каждое поле из Recordset на панели Bindings в окно кода или в соответствующее поле в режиме Design.

Результат вставки полей из набора news_data показаны на рисунке ниже.

Теперь можно добавлять новости и просматривать их на главной странице.

Отредактируем созданные ранее страницы news_delete и news_edit.

Внутри тега body страницы news_edit скопируем код, отображающий поля и кнопку, со страницы news_add.php.

Переименуем форму в edit_news. Текст на кнопке изменим на «Редактировать новость». Это можно выполнить как в окне Code, так и с помощью панели Properties для выделенных соответственно формы и кнопки.

Создадим новый набор данных Recordset_for_edit, который выводит не все записи, а только одну, с определенным uid. Для этого выполним команду Window -> Bindings -> “+” -> Recordset(Query) и установим параметры как на рисунке.

Чтобы в поля на странице news_edit.php выводилась именно выбранная запись, перетаскиваем мышью каждое поле из Recorset_for_edit в соответствующее поле на странице.