Работа с MySql. Создание каталога ссылокРабота с MySql. Создание каталога ссылок.Продолжим создание каталогизатора ссылок. В одной из предыдущих ( http://webscript.ru/perl_mysql_a.html ) статей мы создали две таблицы в базе данных на сервере MySql:
"ProgramminG-программирование для всех!";"//www.programming.dax.ru";1 "Corwell Design Studio";"//www.cds.ru";1 "МТУ-Информ";"//www.mtu.ru";1 "Студия Артемия Лебедева";"//www.design.ru";1 "Каталог детских ресурсов";"//www.kinder.ru/";1 "Быки и коровы";"//bk.ru";2 "Мерен";"//meren.ru/";2 "Все девочки";"//www.allgirls.ru/";2 "Развлекательный сайт пива Доктор Дизель";"//www.doctordizel.ru";2 "Анекдотов.net - максимум развлечений";"//anekdotov.net";2 "Знакомства и Развлечения";"//www.atis.kz/";2 "Чертовы Кулички";"//www.kulichki.com/";2 "Драконье логово";"//balrog.virtualave.net/";2 "Инфосити";"//www.infocity.kiev.ua/";3 "Открытые системы";"//www.opennet.ru/";3 "Масса полезной документации";"//citforum.ru/";3 "Download.ru";//www.download.ru/;4 "СОФТЛИСТ.РУ";//www.softlist.ru/;4 "Темы.РУ";//www.themes.ru/;4 "Altavista.com";"//www.altavista.com/";5 "Яндекс.ру";"//www.yandex.ru/";5 "Мета-ukraine";"//meta-ukraine.com/";5 "Gala chat";"//www.galachat.com";6 "Свежак для открытых систем";"//freshmeat.net";7 "Sourceforge";"//sourceforge.net";7 "Linuxguru";"//www.linuxguru.com";7 "Для Web-разработчика";"//www.stars.com";7 "PHP.net";"//www.php.net";8 "Google groups";"//groups.google.com";9 "Lenta.ru";"//lenta.ru";10 "Корреспондент.нет";"//www.korrespondent.net";10Сохранить его , скажем в "c:\MyDocs\links.txt". Теперь нужно поместить его в таблицу links. Мы это уже делали с категориями, теперь запросом LOAD DATA LOCAL INFILE '/MyDocs/links.txt' REPLACEзаполним таблицу ссылок из текстового файла. Запрос можно выполнить как из скрипта, так и из программы администрирования SQL сервера. Теперь можно писать скрипт, который будет выводить список ссылок из выбранной категории. В предыдущей статье мы написли ссылкуprint "<td>","<a href=\"$scr_name?page=$ln->{'id'}\">$ln->{'name'}</a>","</td></tr>\n"; Значит, в качестве параметров мы передаем скрипту номер (id) категории под именем page. Чтобы вывести ссылки только из данной категории, нужно выполнить SQL запрос SELECT * FROM links WHERE category=id;Скрипт будет выполнять следующие действия:
<!-- LINKS_HERE -->Программа на языке Perl будет иметь следующий вид: #!/usr/bin/perl use DBI; print "Content-type:text/html\n\n"; $temp=$ENV{'QUERY_STRING'}; # Разбор строки параметров if ($temp ne '') { @pairs=split(/&/,$temp); foreach $item(@pairs) { ($key,$content)=split (/=/,$item,2);В результате исполнения этого скрипта будет выведен список ссылок, оформленный как Немаркированный список, каждая ссылка будет открываться в новом окне. Надеюсь, принцип работы данной программы понятен, и каждый волен ее дорабатывать на свой вкус. Я , например в рабочей версии каталогизатораї (она, правда написана на PHP), еще добавил в таблицу links еще и описание ресурса, и счетчик, куда записывается каждый клик по ссылке. |