Forum Webscript.Ru

Программирование => Perl => Тема начата: gexa от 10 Февраля 2006, 13:16:40

Название: как вывести 3 таблицы внутри одной таблицы?
Отправлено: gexa от 10 Февраля 2006, 13:16:40
Добрый день, у меня скрипт который выводит табличку на страницу

my $sth = $dbh->prepare( "SELECT $col1,$col2 FROM table_log WHERE ...");
print "";
while ( my @row = $sth->fetchrow_array( ) ){print Tr( td(\\@row));}
print "
\\n";

таблица получается такая:
2006-02-08         2
2006-02-08         34
2006-02-09         12
...

Подскажите, пожалуйста, как сделать вывод трех таблиц внутри одной,
чтобы получилось удобное представление трех выборок на странице:

столбец1                                        столбец2                                        столбец3        
 
2006-02-08   2                            2006-02-08  10                            2006-02-08   5    
2006-02-09   6                            2006-02-09  20                            2006-02-09   0
2006-02-10   3                            2006-02-09   5                             2006-02-10   0
...                                                                ...                                                      ...
Название: как вывести 3 таблицы внутри одной таблицы?
Отправлено: AnnA от 10 Февраля 2006, 19:50:20
например сделайте функцией своиmy $sth = $dbh->prepare( "SELECT $col1,$col2 FROM table_log WHERE ...");
print "";
while ( my @row = $sth->fetchrow_array( ) ){print Tr( td(\\@row));}
print "
\\n";

да и вызывайте функцию для каждой ячейки таблицы
Название: как вывести 3 таблицы внутри одной таблицы?
Отправлено: gexa от 11 Февраля 2006, 10:37:40
сделал подпрограмму
sub ff{
my $sth = $dbh->prepare( "SELECT $col1,$col2 FROM table_log WHERE ...");
print "";
while ( my @row = $sth->fetchrow_array( ) ){print Tr( td(\\@row));}
print "
\\n";
}

А как ее вызвать для каждого столбца? Я сделал вот так:
print "";
print Tr (td(ff()),td(ff()),td(ff()));
print "
\\n";
Но ничего путного не получилось, подскажите как правильно вызывать?