Главная страница


ru.cgi.perl

 
 - RU.CGI.PERL ------------------------------------------------------------------
 From : denis v. yastrebov                   2:5020/400     04 Aug 2002  16:25:31
 To : Roman Onufryk
 Subject : Re: Mysql+HTML::Template
 -------------------------------------------------------------------------------- 
 
 "Roman Onufryk" <Roman.Onufryk@p1.f27.n4626.z2.fidonet.org> сообщил/сообщила
 в новостях следующее: news:1028346853@p1.f27.n4626.z2.ftn...
 
 > Естественно, этот фрагмент не работает так, как надо - он выводит только
 > последнюю запись.
 
 Hижеприведенный вроде работал.
 Примечание: использован DBI.
 
 table.tmpl
 ====================
 <TABLE CELLPADDING=2 CELLSPACING=1 BORDER=0 WIDTH=100%>
 <TR BGCOLOR=#CCCCCC>
  <TD><B>ID</B></TD>
  <TD><B>Name</B></TD>
  <TD><B>Автор</B></TD>
  <TD><B>Дата</B></TD>
  <TD><B>Type</B></TD>
  <TD><B>Текст</B></TD>
 </TR>
 <TMPL_UNLESS NAME=Empty>
  <TR BGCOLOR=#CCCCCC><TD colspan=8>Записей нет</TD></TR>
 <TMPL_ELSE>
  <TMPL_LOOP NAME=A_LIST>
  <TR BGCOLOR=#CCCCCC valign=top>
  <TD>%id%</TD>
  <TD>%name%</TD>
  <TD>%author%</TD>
  <TD>%date%</TD>
  <TD>%type%</TD>
  <TD>%content%</TD>
  </TR>
  </TMPL_LOOP>
 </TMPL_UNLESS>
 </TABLE>
 ===============
 use DBI;
 use HTML::Template;
 sub Articles {
 my $RetVal;
     my $DB  = DBI->connect( $DB_NAME, $DB_USER, $DB_PASSWD, { PrintError=>1,
 RaiseError=>1 } );
     return -1 if( !defined( $DB ) );
  my $Page = HTML::Template->new(filename => 'table.tmpl',
 vanguard_compatibility_mode => 1 );
  my @arr;
  my $Empty  = 0;
  my $dQuery  = $DB->prepare(
             'SELECT id, name, author, date, type, content FROM articles
 ORDER BY name' );
  $dQuery->execute;
  while( my( $ID, $Name, $Author, $Date, $Type, $Content ) =
 $dQuery->fetchrow_array ) {
   my %data;
   $Empty++;
   $data{id}   = $ID;
   $data{name}  = $Name;
   $data{author}  = $Author;
   $data{date}  = $Date;
   $data{type}  = $Type;
   $data{content}  = $Content;
   push(@arr, \%data);
  }
 
  $Page->param(
      A_LIST=>\@arr,
      Empty=>$Empty,
 );
     $DB->disconnect;
     return $Page->output;
 }
 =================================
 --
 ----
 denis v. yastrebov
 www.psychiatrist.ru
 denisy@psychiatrist.ru
 --- ifmail v.2.15dev5
  * Origin: Demos online service (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Mysql+HTML::Template   Roman Onufryk   03 Aug 2002 03:44:52 
 Re: Mysql+HTML::Template   denis v. yastrebov   04 Aug 2002 16:25:31 
 Re: Mysql+HTML::Template   Ivan Frolcov   05 Aug 2002 09:10:03 
Архивное /ru.cgi.perl/113460b9bf514.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional