The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"perl вывод в таблицу"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"perl вывод в таблицу"  
Сообщение от Happy_demon email(ok) on 26-Апр-07, 12:11 
доброе время! пытаюсь подключиться к мускулу из перла и сделать красивый вывод
<html>
<FORM action="http://192.168.25.2/cgi-bin/7.cgi" method="get">
<select size="1" name="Name">
  <option value="129266782">Test</option>
  <option value="291411818">Test1</option>
  <option value="7066480">Test2</option>
  <option value="126710395">Test3</option>
</select>
<INPUT type="submit" value="Запрос">
</FORM>
</html>
пока все работает
[root@bc /usr/local/www/cgi-bin]# cat 7.cgi
#!/usr/bin/perl -wT
use strict;
use CGI ':standard';
use DBI;
print "Content-type: text/plain\n\n";
my $vybor=param('Name');
my @rows;
my $dbh = DBI->connect("DBI:mysql:database=aimsniff;host=127.0.0.1",
                    "sniff", "пароль") || die print "Can't connect";
my $query = "SELECT * FROM logs WHERE handle=$vybor OR fromHandle=$vybor ";
my $sth = $dbh->prepare($query) or die "error prepere $query:" . $dbh->errstr . "\n";
my $n = $sth->execute() or die "no execute $query:" . $dbh->errstr . "\n";
while (@rows = $sth ->fetchrow_array)
{
my $i;
for $i (0..($sth ->{NUM_OF_FIELDS}-1))
{
print "|" . $rows[$i] . "|";
};
print "\n";
};
$sth ->finish;
$dbh->disconnect();
в общем пример избитый. пока говорю Content-type: text/plain -  все нормуль, а как пытаюсь вывести Content-type: text/html и оформить в виде красивой таблички - сразу - нах. пусть без цвета, пусть без переноса длиных строк, выводится постоянно какая-то гадость. сама рамка рисуется, но данные как-то неправильно заносятся. если у кого есть рабочий пример именно таблички или ссылки- буду признателен
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "perl вывод в таблицу"  
Сообщение от andy email(??) on 26-Апр-07, 13:18 
Может, не так понял.... Вот это -

print "|" . $rows[$i] . "|";

подразумевает вывод псевдографикой? Тогда нечто типа

print '<pre>';
while (@cols = $sth->fetchrow_array) {
  print "| ". join(" | ", @cols) ." |\n";
}
print '</pre>';

но надо же еще следить за шириной колонок. Проблема с text/html в том, что в этом случае два или более пробельных символа сжимаются в один пробел. Специально для таких ситуаций и придуман тег <pre>, он сохраняет все пробельные символы.

А вообще, не проще ли это сделать нормальной хтмл`ной табличкой?

print '<html><body><table border="1">';
while (@cols = $sth->fetchrow_array) {
  print "<tr><td>". join("</td><td>", @cols) ."</td></tr>\n";
}
print '</table></body></html>';

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "perl вывод в таблицу"  
Сообщение от Happy_demon email(ok) on 26-Апр-07, 14:08 
>А вообще, не проще ли это сделать нормальной хтмл`ной табличкой?
>
>print '<html><body><table border="1">';
>while (@cols = $sth->fetchrow_array) {
>  print "<tr><td>". join("</td><td>", @cols) ."</td></tr>\n";
>}
>print '</table></body></html>';
Спасибо, проще. именно это и сделал. пойду до ума доводить (кодировка, пустые ячейки некрасиво оформляются, выделение жирным чисел в последней колонке и прочая, что еще придет в голову). еще раз огромное спасибо

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру