Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (PERL) вывод данных в таблицы с заголовком / 14 сообщений из 14, страница 1 из 1
30.08.2005, 21:18
    #33242204
HeoH
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PERL) вывод данных в таблицы с заголовком
Привет!

Есть такая проблема: пытаюсь придумать функцию для вывода данных из таблицы mysql в таблички с заголовками.
В таблице есть "разделы"(столбец с номером раздела) я хочу вывести каждый подраздел в отдельной табличке и чтобы в каждой табличке был заголовок.

Основная сложность заключается в том, что в разделах существуют либо пустые либо нулевые столбцы, которые не хочу выводить. соответсвенно не хочу чтобы и не было заголовка для этого столбца таблицы.

Реализовать все хочу на perl.
...
Рейтинг: 0 / 0
31.08.2005, 09:45
    #33242550
Black
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PERL) вывод данных в таблицы с заголовком
что Вы подразумеваете под заголовками?
...
Рейтинг: 0 / 0
31.08.2005, 10:15
    #33242635
HeoH
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PERL) вывод данных в таблицы с заголовком
Вот пример чего я хочу (но без нулевых и пустых столбцов):
http://promelektro.eslidesign.ru/cgi-bin/neuscript.pl

загловки это строки типа:
# Watt Volt Cap Diameter name Lumen life quantity EEC kod candela price
берутся из таблицы таким образом:
Код: plaintext
1.
2.
3.
4.
foreach(@{$sth->{NAME}})
{
   push(@cols, td($_)) if real_show( 0 ,$_);
}

Например, в первой табличке есть пустой столбец candela его я выводить не хочу.
...
Рейтинг: 0 / 0
31.08.2005, 10:19
    #33242645
HeoH
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PERL) вывод данных в таблицы с заголовком
на функцию show_real не обращайте внимание
...
Рейтинг: 0 / 0
31.08.2005, 10:29
    #33242686
Black
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PERL) вывод данных в таблицы с заголовком
для начала не путайте в каждом предложение названия, во вторых candela не пустой столбец, а емеет значение 0 , это две разные вещи!

Код: plaintext
1.
push(@cols, td($_)) if($_);

совсем не вижу смысла между куском кода которые Вы привели и данной ссылкой. По ссылке Вы выводите информацию, а в коде добавляете в массив.
...
Рейтинг: 0 / 0
31.08.2005, 10:31
    #33242696
Black
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PERL) вывод данных в таблицы с заголовком
так же рекомендую прочитать Тык
...
Рейтинг: 0 / 0
31.08.2005, 10:38
    #33242727
HeoH
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PERL) вывод данных в таблицы с заголовком
Я написал что мне не нужно выводить нулевые и пустые .
в приведенном куске кода я хотел показать что значения для строки заголовков я беру с помощью DBI ($sth->{NAME}) и все.
...
Рейтинг: 0 / 0
31.08.2005, 10:49
    #33242780
Black
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PERL) вывод данных в таблицы с заголовком
если Вы спрашиваете, как мне не выводить пустые и нулевые строки, тогда покажите как Вы пытаетесь выводить...
...
Рейтинг: 0 / 0
01.09.2005, 13:44
    #33245938
HeoH
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PERL) вывод данных в таблицы с заголовком
То что на страничке выводится следующим кодом:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
$sth=$dbh->prepare("SELECT * FROM $type,grp,class WHERE $type.grp=grp.id AND $type.class=class.id");
$res=$sth->execute();
print start_html();

foreach(@{$sth->{NAME}})
{
   push(@cols, td($_));
}
unshift @cols, td('#');

while(my $c = $sth->fetchrow_hashref())
{
   my @row;
   ### разбиваем на разные таблицы
   push @table, '</table><br><table border="1">' if(($last_class ne $c->{class})&&($last_class));
   ### счетчик рядов
   push @row, td(++$i);

   ### заносим название таблицы
   if (($last_class ne $c->{class}))
   {
	push @table, Tr(td({colspan=>$sth->{NUM_OF_FIELDS},bgcolor=>'#cccccc'},$c->{class_name}));
   }
   ### заносим заголовок для таблицы
   if ($last_grp ne $c->{grp})
   {
	push @table, Tr(td({colspan=>$sth->{NUM_OF_FIELDS},bgcolor=>'#eeeeee'},$c->{group_name}));
	push @table, @cols;
   }
   ### заносим в масив текущую строку
   foreach(@{$sth->{NAME}})
   {
	push @row, td($c->{$_});
   }
   push(@table, Tr(@row));
   $last_class=$c->{class};
   $last_grp=$c->{grp};
}
###выводим таблицу
print table({border=> 1 },@table),br();
...
Рейтинг: 0 / 0
15.09.2005, 09:27
    #33270331
HeoH
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PERL) вывод данных в таблицы с заголовком
Посоветуйте хотябы на каком уровне делать?
На уровне mysql или perl?
...
Рейтинг: 0 / 0
15.09.2005, 10:08
    #33270406
LeXa NalBat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PERL) вывод данных в таблицы с заголовком
Заносить данные для текущей подтаблицы (как вы разбиваете для разных 'class') предварительно в массив @subtalbe, а не в @table. При смене 'class': сначала проверять каждый столбец в @subtalbe на наличие хотя бы одного ненуля или непустоты; и лишь после этого уже имея маску типа '1110011011' или qw(1 1 1 0 0 1 1 0 1 1) (столбец печатать/не печатать) делать в соответствии с нулями в маске исключение (splice) заголовков из массива @subcols (в который предварительно записать @cols), из данных (каждой строки @subtable) и $sub_NUM_OF_FIELDS-- (предваритально имевший значение $sth->{NUM_OF_FIELDS}); и только теперь в @table добавлять название таблицы (со спаном $sub_NUM_OF_FIELDS), заголовок из @subcols, данные - все строки из @subtable.
...
Рейтинг: 0 / 0
22.09.2005, 20:17
    #33284747
HeoH
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PERL) вывод данных в таблицы с заголовком
Хотелось бы узнать как делать исключение элеменотов массивов по маске?
Насколько я знаю splice исключает из масива элемент(диапазон эелементов). Как его связать с маской?
...
Рейтинг: 0 / 0
22.09.2005, 20:22
    #33284752
Black
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PERL) вывод данных в таблицы с заголовком
HeoHХотелось бы узнать как делать исключение элеменотов массивов по маске?
Насколько я знаю splice исключает из масива элемент(диапазон эелементов). Как его связать с маской?
grep?
...
Рейтинг: 0 / 0
23.09.2005, 12:37
    #33285746
LeXa NalBat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PERL) вывод данных в таблицы с заголовком
LeXa NalBatимея маску типа '1110011011' или qw(1 1 1 0 0 1 1 0 1 1) (столбец печатать/не печатать) делать в соответствии с нулями в маске исключение (splice) заголовков из массива @subcols (в который предварительно записать @cols) HeoHХотелось бы узнать как делать исключение элеменотов массивов по маске?
Насколько я знаю splice исключает из масива элемент(диапазон эелементов). Как его связать с маской?По-разному можно сделать. Может проще и без splice. Например:
Код: plaintext
1.
2.
3.
4.
5.
die if scalar(@mask) != scalar(@cols);
my @subcols=();
for ( my $i= 0 ; $i<scalar(@mask); $i++ ) {
  push @subcols, $cols[$i] if $mask[$i];
}
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (PERL) вывод данных в таблицы с заголовком / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]