|
|
ru.cgi.perl- RU.CGI.PERL ------------------------------------------------------------------ From : Roman Onufryk 2:4626/27.1 03 Aug 2002 03:44:52 To : All Subject : Mysql+HTML::Template -------------------------------------------------------------------------------- Есть база на Mysql, с одной таблицей с полями Name,Surname,Phone,Adress,Birth. С помощью HTML::Template должна выводиться на страницу. Вот таким образом: > <TMPL_LOOP NAME=RECORD> > <tr bgcolor="#FFFFFF"> > <td><TMPL_VAR NAME=Name></td> > <td><TMPL_VAR NAME=Surname></td> > <td><TMPL_VAR NAME=Phone></td> > <td><TMPL_VAR NAME=Adress></td> > <td><TMPL_VAR NAME=Birth></td> > </tr> > </TMPL_LOOP> Скрипт (урезанный): > use HTML::Template; > use Mysql; > $dbh = Mysql->Connect('localhost','phonebook'); > $query=$dbh->query('SELECT * FROM mainbook'); > while (%Qhash=$query->fetchhash) > { > push @Qarr,%Qhash; >#^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > } >my $template = HTML::Template->new(filename=>'../template.html'); >$template -> param(RECORD=>[{@Qarr}]); >#^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >print "Content-Type: text/html\n\n"; >print $template -> output; Естественно, этот фрагмент не работает так, как надо - он выводит только последнюю запись. Hасколько я знаю, нужно поменять подчеркнутые строки. Первая формирует нужный массив, а вторая определяет для шаблона. Hадо как-то хитро это все сформировать, какие-то "массивы массивов хэшей" - не могу сам вдуплиться, как это сделать. Кто знает, подскажите, плиз. good luck! by Roman Onufryk aka Torn ... [Team Выпуск-2000: onufryk.da.ru] [Team Колесо] [Team Правда] --- GoldED+/386 1.1.4.7 * Origin: The Lux FM (102.5) Station (2:4626/27.1) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.cgi.perl/27703d4b53e5.html, оценка из 5, голосов 10
|