Главная
Трудоустройство
Ваши объявления
Наши новости
Информация







Работа с MySql. Создание каталога ссылок


Сухинин A., Webscript.ru


Продолжим создание каталогизатора ссылок.








В одной из предыдущих статей мы создали две таблицы в базе данных на сервере MySql:

  • links

  • category

  • Кроме того, мы внесли в таблицу category данные, импортировав их из текстового файла. Во второй статье мы "одели" результат запроса из списка категорий в Web-интерфейс. Теперь нам нужно заполнить таблицу links, написать скрипт getlinks.pl для вывода списка ссылок с сообтветствующими категориями. Поступим с заполнением таблицы links также, как и с таблицей categories : импортируем ссылки из текстового файла. Текстовый файл:

    "ProgramminG-программирование для всех!";"http://www.programming.dax.ru";1
    "Corwell Design Studio";"http://www.cds.ru";1
    "МТУ-Информ";"http://www.mtu.ru";1
    "Студия Артемия Лебедева";"http://www.design.ru";1
    "Каталог детских ресурсов";"http://www.kinder.ru/";1
    "Быки и коровы";"http://bk.ru";2
    "Мерен";"http://meren.ru/";2
    "Все девочки";"http://www.allgirls.ru/";2
    "Развлекательный сайт пива Доктор Дизель";"http://www.doctordizel.ru";2
    "Анекдотов.net - максимум развлечений";"http://anekdotov.net";2
    "Знакомства и Развлечения";"http://www.atis.kz/";2
    "Чертовы Кулички";"http://www.kulichki.com/";2
    "Драконье логово";"http://balrog.virtualave.net/";2
    "Инфосити";"http://www.infocity.kiev.ua/";3
    "Открытые системы";"http://www.opennet.ru/";3
    "Масса полезной документации";"http://citforum.ru/";3
    "Download.ru";http://www.download.ru/;4
    "СОФТЛИСТ.РУ";http://www.softlist.ru/;4
    "Темы.РУ";http://www.themes.ru/;4
    "Altavista.com";"http://www.altavista.com/";5
    "Яндекс.ру";"http://www.yandex.ru/";5
    "Мета-ukraine";"http://meta-ukraine.com/";5
    "Gala chat";"http://www.galachat.com";6
    "Свежак для открытых систем";"http://freshmeat.net";7
    "Sourceforge";"http://sourceforge.net";7
    "Linuxguru";"http://www.linuxguru.com";7
    "Для Web-разработчика";"http://www.stars.com";7
    "PHP.net";"http://www.php.net";8
    "Google groups";"http://groups.google.com";9
    "Lenta.ru";"http://lenta.ru";10
    "Корреспондент.нет";"http://www.korrespondent.net";10
    

    Сохранить его , скажем в "c:\MyDocs\links.txt". Теперь нужно поместить его в таблицу links. Мы это уже делали с категориями, теперь запросом

    
    LOAD DATA LOCAL INFILE /MyDocs/links.txt REPLACE
    INTO TABLE links FIELDS TERMINATED BY ; OPTIONALLY
    ENCLOSED BY \" LINES TERMINATED BY \r

    заполним таблицу ссылок из текстового файла.

    Запрос можно выполнить как из скрипта, так и из программы администрирования 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;
    
    

    Скрипт будет выполнять следующие действия:

  • Разбор параметров, переданных в скрипт;

  • Выполнение SQL запроса;

  • Вывод результата в указанное место в шаблоне.

  • Подготовим HTML документ с необходимым нам оформлением, и в том месте, где должны быть ссылки вставим комментарий:

    
    <!-- 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); 
    # Режем на название ключа и значение.

    # Названия параметров и значения помещаем в хэш
    $data{$key}=$content; } } # проверяем, есть ли переменная с именем page if ($data{page} ne undef) { # $qry = "SELECT * FROM links WHERE category=".$data{page}; # my $dbh = DBI->connect("DBI:mysql:database=ваша_база_данных; host=адрес_сервера_mysql", "логин", "пароль") || die $DBI::errstr; # готовим запрос my $result = $dbh->prepare($qry); # и выполняем его $result->execute(); # разбираем результат print "<ul>\n"; while (my $ln = $result->fetchrow_hashref()) { print "<li><a href=\"", $ln->{url},"\"
    target=\"_blank\">",$ln->{name},"</a></li>\n"; } print "</ul>\n"; $dbh->disconnect(); print "<a href=javascript:history.back()>Предыдущая страница</a>\n"; }

    В результате исполнения этого скрипта будет выведен список ссылок, оформленный как Немаркированный список, каждая ссылка будет открываться в новом окне.

    Надеюсь, принцип работы данной программы понятен, и каждый волен ее дорабатывать на свой вкус. Я , например в рабочей версии каталогизатора (она, правда написана на PHP), еще добавил в таблицу links еще и описание ресурса, и счетчик, куда записывается каждый клик по ссылке.



    www.sdteam.com
    Что необходимо знать программисту 02-06-2007
    Использование технологии InternetExpress в Borland Delphi 20-08-2008 Что необходимо знать программисту
    Одной из примечательных возможностей Borland Delphi 5 является технология InternetExpress - средство обработки и публикации данных в Internet на основе технологии MIDAS.В Delphi реализован набор компонентов, позволяющих реализовать полный цикл клиент-серверной обработки данных на базе Internet как с использованием средств создания приложений на основе ISAPI/NSAPI, ASP и CGI, так и новых технологий, к примеру, стандарта XML (eXtended Markup La...


    Программный поиск файлов 07-07-2008 Что необходимо знать программисту
    В этом уроке мы с вами ознакомимся с основными принципами программной организации поиска файлов. Для начала определимся, зачем нам это может быть нужно. Например, вам нужно при запуске программы на выполнение просканировать определенный каталог на присутствие DOC файлов, и при наличии таковых открыть их на редактирование или напечатать. А как вам такая идея: фоновый поиск EXE файла в сети, и при обнаружении новой версии, автоматическое обновление...


    Деньги в Интернет 07-05-2008 Что необходимо знать программисту
    Интернет прочно входит в нашу жизнь. А вмести с ним такие понятие как электронная коммерция и электронные деньги. Многие предприниматели уже воспринимают пользователей Интернета как «потребителей» их интернет-рекламы, но и как потенциальных покупателей. Рассмотрим такие интересующие многих пользователей Интернета вопросы. 1) Что такое электронные деньги?2) Как их обналичивают (конвертируют).3) Как этот вопрос рег...

    Copyright © 2005
    "service-centers.com.ua"


    Rambler's Top100   Рейтинг@Mail.ru

    Работа
    Карта сайта
    О сайте
    Реклама
    все объявления
    поиск резюме
    поиск вакансий
    добавить резюме
    добавить вакансию

    Все объявления
    Компьютеры, оргтехника
    Автомобили
    Продукты питания
    Аудио, Фото, Видео
    Связь
    Отдых, путешествия
    Мебель
    Разное
    Добавить объявление
     Автомобили
     Ремонтно-строительные услуги
     Пресс-релизы
     Железо
     Soft
     Мобильная планета
     Для милых дам
     Родительский клуб
     Недвижимость
     Домашний очаг, усадьба
     Строительство
     Обустройство и безопасность дома
     Сантехника