Прагматический подход к разработке приложений Web баз данных



Пример. Справочник телефонов


Приложение Web баз данных "справочник телефонов" выбрано из следующих соображений:

  • по сути, это не сложное приложение;
  • оно может быть использовано на практике.
  • Данное приложение позволяет по заданой фамилии или ее части найти в базе данных все похожие фамилии. Затем оно формирует html документ, который содержит список из этих фамилий и соответствующих им номеров телефонов.

    Для ввода фамилии или ее части пользователь должен заполнить однострочную форму, которой соответствует следующий htm код

    <html> <body> <FORM METHOD=Get ACTION="view.php3"> <P><INPUT TYPE=Text NAME=_fio SIZE=20><P> <P><INPUT TYPE=Submit VALUE="Введите фамилию"></P> </FORM> </body> </html>

    Теперь обсудим текст скрипта view.php3. Структурно он должен состоять из трех частей, которые должны обеспечить:

  • соединение с БД;
  • выборку данных из БД на основании совпадения фамилий с введенной в форму комбинацией символов;
  • динамическое формирование html документа.
  • Первую из перечисленных задач можно решить примитивом connect.inc.

    Вторую задачу SQL командой

    SELECT * FROM phone WHERE lower(fio) LIKE '_fio%'

    Для решения третьей задачи можно предложить следующий скрипт, который разработан на основе view_n.php3

    <? // *** динамическое формирование html документа *** $RecCount = pg_NumRows( $result ); // число записей, которые следует отобразить на экране if (empty( $RecCount )) { echo "No Data\n"; // нет таких фамилий } else{ ?> <HTML> <BODY> <TABLE BORDER="1" WIDTH="200"> <? // *** построчное отображение записей *** $i = 0; do { $arr = pg_Fetch_Array ($result, $i); ?> <TR> <TD>Name:&nbsp;</TD><TD><? echo $arr['fio']; ?>&nbsp;</TD> <TD>Phone:&nbsp;</TD><TD><? echo $arr['num']; ?>&nbsp;</TD> </TR> <? $i = $i + 1; // номер следующей записи, которую будем отбражать строкой таблицы } while ($i < $RecCount); } ?> </TABLE> <BR>

    </BODY> </HTML>

    Назовем его примитивом view_m.inc.

    Окончательно текст скрипта view.php3, который обеспечивает реализацию "справочника телефонов" следующий:

    <? //*** соединение с БД *** require "primitive/connect.inc";

    // *** выборка данных *** $result = pg_Exec( $cnct, "SELECT * FROM phone WHERE lower(fio) LIKE '$_fio%'" );

    // *** отображение данных *** require "primitive/view_m.inc"; ?>

    Результат работы приложения "справочник телефонов" в случае просмотра абонентов, фамилии которых начинаются на "Ив" приведен ниже.




    Содержание  Назад  Вперед