Flash і бази даних Нічого простіше, ніж це! ІТ-журнал 2

Не набагато складніше: доступ до бази даних

Замість того, щоб просто читати текстовий файл, Flash також може приймати будь-які інші дані, використовуючи той же механізм. Їх просто потрібно передати у форматі змінної величини. База даних не робить цього сама по собі - і, крім того, значущий доступ до бази даних також вимагає передачі інформації в зворотному напрямку, наприклад для передачі критерію пошуку у запиті.

даних

Для цього команда loadVariables пропонує третій параметр: loadVariables (URL, target, method).

Якщо один із методів GET або POST також вказаний під час виклику loadVariables, Flash передає всі змінні, визначені на поточному рівні Flash, до викликаної URL-адреси. У випадку POST URL-адреса отримує змінні окремо, подібно до форми HTML; GET передає всі змінні разом у так званому рядку запиту, який Flash автоматично компілює.

Приклад: У Flash, коли loadVariables викликається за допомогою GET, визначаються дві змінні, які називаються пошуковим терміном і варіантом. У цьому випадку Flash передає наступний рядок запиту на URL-адресу: пошуковий термін = курячі яйця & variant = вільний вигул - він надає інформацію в точно такому ж форматі, що і отримує як результат. Спілкування однаково працює в обох напрямках.

Зараз бракує лише одного: фактичного доступу до бази даних. Запитувана URL-адреса несе повну відповідальність за це - вся обробка відбувається на стороні сервера. Обов’язковою умовою Flash-сайтів, що підтримуються базами даних, є веб-сервер із встановленими сценаріями на стороні сервера - незалежно від того, чи є ASP, JSP, PHP або будь-яка інша архітектура сценаріїв; Єдина умова: сервер повинен мати можливість повернути в запит рядок у стандартному форматі CGI.

У нашому практичному прикладі ми використовуємо ASP: веб-сервер, що підтримує ASP, або вже активний у кожній сучасній операційній системі Windows, або його можна встановити з інсталяційного компакт-диска Windows без додаткових витрат.

Простий запит до бази даних

На додаток до Flash 5, мінімальні вимоги складаються з таких компонентів: У системі повинен бути встановлений веб-сервер з підтримкою ASP, завдяки чому персональний веб-сервер Windows 9x працює так само, як служби Windows NT або 2000 WWW доступна база даних Access із встановленим драйвером.

1. Спочатку створіть базу даних з деякими тестовими даними. Ми використаємо Access для демонстрації; Для реальних веб-сайтів може знадобитися SQL Server, Oracle або інший потужний сервер БД. У нашій зразковій базі даних перелічені різні види фруктів і складається з таблиці "Фрукти" з трьома полями "Ім'я", "Колір" та "Калорії". Назвіть файл бази даних obst.mdb і збережіть його в каталозі на веб-сервері, наприклад, у розділі c: \ intetpub \ wwwroot \ flashdbtest.mdb

2. Другим компонентом є файл Flash, який служить поверхнею для запиту до бази даних. Він складається з дев'яти кадрів, які структуровані таким чином: Кадр 1 використовується для введення тексту. Розмістіть пояснювальний текст, поле введення та кнопку. Поле введення повинно бути названо в текстових параметрах з тим самим іменем, яке буде використано пізніше у сценарії ASP для пошукового терміна. Ми називаємо це пошуковим терміном. Відповідна кнопка виконує команду gotoAndStop (2) як єдину інструкцію: Коли ви натискаєте кнопку, наш фільм переходить до другого кадру. Не забудьте включити команду зупинки в дії кадру 1 кадру, інакше фільм "втече". Дії кадру фрейму 2 приймають команду loadVariables:

Потім викликається власне сценарій ASP, і вміст поля введення пошукового терміна з кадру 1 передається. Оскільки ми використовуємо лише одну змінну, рекомендується більш простий метод GET: Flash посилає рядок запиту "derSuch term =" до сценарію.

Кадри 3 - 8 містять анімацію завантажувача, зміст якої можна розробити за бажанням. Важливими є лише дії кадру в початковому та кінцевому кадрах. Кадр 3 перевіряє, чи остання змінна, яку потрібно завантажити, у нашому випадку "калорії", вже готова, і в цьому випадку переходить до кадру 9, інакше анімація завантажувача триває до кадру 8:

Кадр 8 просто відгалужується до початку анімації завантажувача:

Нарешті, кадр 9 показує результати запиту, а також містить кнопку, за допомогою якої можна розпочати новий пошук, розгалужившись до кадру 1. Розмістіть тут три динамічні текстові поля, назви яких повинні відповідати позначенням, породженим сценарієм ASP. Для простоти ми називаємо їх так само, як і поля в базі даних. Кнопка повинна скинути змінну "Калорії" перед розгалуженням на кадр 1, інакше наша перевірка в кадрі 3 більше не працюватиме:

Опублікуйте Flash-фільм та вбудуйте його у HTML-сторінку.

3. Пов’язаний сценарій ASP для запиту до бази даних можна знайти у полі на попередній сторінці. Функції пояснюються в коментарі.

Помістіть сценарій ASP в ту саму папку, що і база даних Access, файл Flash та HTML-сторінка, що викликає. Наш веб-сайт на базі даних Flash готовий до тестування.