CFA LogoCFA Logo Computer
Новости Статьи Магазин Драйвера Контакты
Новости
RSS канал новостей
В конце марта компания ASRock анонсировала фирменную линейку графических ускорителей Phantom Gaming. ...
Компания Huawei продолжает заниматься расширением фирменной линейки смартфонов Y Series. Очередное ...
Компания Antec в своем очередном пресс-релизе анонсировала поставки фирменной серии блоков питания ...
Компания Thermalright отчиталась о готовности нового высокопроизводительного процессорного кулера ...
Компания Biostar сообщает в официальном пресс-релизе о готовности флагманской материнской платы ...
Самое интересное
Программаторы 25 SPI FLASH Адаптеры Optibay HDD Caddy Драйвера nVidia GeForce Драйвера AMD Radeon HD Игры на DVD Сравнение видеокарт Сравнение процессоров

АРХИВ СТАТЕЙ ЖУРНАЛА «МОЙ КОМПЬЮТЕР» ЗА 2002 ГОД

Работа с MySql. Администрирование каталога ссылок.

Александр СУХИНИН shurick31@yahoo.com

(Продолжение, начало см. МК № 46, 48, 50 (165, 167, 169))

Если вы до сих пор не понимаете, о чем идет речь — об HTML-странице или Perl-скрипте, поясню: и то, и другое находится в одном общем коде, благо синтаксис Perl’а позволяет вставлять в программу большие куски текста:

В нашем случае все JS-функции и HTML-элемент div введены в perl-программу именно этим методом. Исполняемый Perl-код пишется после метки END_TAG. В целом структура скрипта выглядит так:

• Пишем заголовок скрипта;

• Объявляем соединения с mySQL-сервером;

• Оператором print<<TAG выводим заголовок HTML-кода;

• Perl’ом выводим список доступных категорий;

• Опять выводим оператором print<<NEXT_TAG остаток формы

• Пишем дальше на Perl’е обработку параметров;

• Если нужно сохранять — сохраняем (пишем соответствующую процедуру);

• Если нужно добавлять — добавляем (пишем соответствующую процедуру);

• Если нужно удалять — удаляем (пишем соответствующую процедуру);

Львиную долю работы по обслуживанию формы на клиентской машине, конечно, берет на себя JavaScript, — Perl только обрабатывает переданные формой аргументы и производит манипуляции с данными. Выигрыш в скорости обработки очевидна — за каждым кликом не нужно лезть на сервер.

Следующий шаг: вывести остаток формы и обработать входящие параметры.

В общем, ничего сложного. Функции check_???() устанавливают значение скрытого поля edit. Далее — тривиальная проверка аргументов. От комментариев воздержусь.

Осталось написать четыре процедуры: &save_values, &show_page, &delete_record, &read_input. Последнюю здесь приводить не буду — чтение потока STDIN и заполнение хэша. Показ страницы производится при любом действии:

Как работает инструкция SELECT ... FROM, пояснять не нужно. В процедуре в каждую ячейку таблицы мы вставим обработку события OnClick(), чтобы при щелчке на ячейке содержимое строки поместилось в поля формы (см. функцию settoedit()).

Теперь запишем данные в базу:

Инструкция INSERT INTO table (field1,field2,field3) VALUES (val1,val2,val3) добавляет в таблицу новую запись и присваивает полям field1...fieldNN значения val1...valNN. При этом полям с атрибутом auto_increment() не пытайтесь присваивать значения — все равно MySQL будет их автонумеровать.

Инструкция UPDATE table SET field1=value1,... fieldNN=valueNN WHERE condition обновляет значения полей в записях(!), удовлетворяющих условию condition. То есть, одной инструкцией можно обновить сразу несколько записей. Например, WHERE id < 100 обновит записи с 1 по 99.

Итак, одной процедурой вносим изменения и добавляем запись, в зависимости от значения скрытого поля edit.

Следующей процедурой удаляем запись:

Тут все просто.

Инструкция DELETE FROM table WHERE condition удаляет все записи, удовлетворяющие условию condition. Вот таким образом можно удалить все записи, где поле URL содержит текст «sex»:

Вот и все. Не правда ли, просто?

Если нет желания возиться со всеми этими JavaScript’ами, то можно выводить в процедуре show_page в каждой строке таблицы форму — тогда, конечно, объем результирующего HTML-кода увеличится, но сам Perl-код заметно упростится.

И, наконец, полный текст скрипта (можно выкачать с http://shurick31.narod.ru/js/editlinks.pl.txt):

(Продолжение следует)

Рекомендуем ещё прочитать:






Данную страницу никто не комментировал. Вы можете стать первым.

Ваше имя:
Ваша почта:

RSS
Комментарий:
Введите символы или вычислите пример: *
captcha
Обновить





Хостинг на серверах в Украине, США и Германии. © sector.biz.ua 2006-2015 design by Vadim Popov