The OpenNET Project / Index page

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




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
perl вывод в таблицу, !*! Happy_demon, 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 и оформить в виде красивой таблички - сразу - нах. пусть без цвета, пусть без переноса длиных строк, выводится постоянно какая-то гадость. сама рамка рисуется, но данные как-то неправильно заносятся. если у кого есть рабочий пример именно таблички или ссылки- буду признателен
  • perl вывод в таблицу, !*! andy, 13:18 , 26-Апр-07 (1)
    Может, не так понял.... Вот это -

    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>';

    • perl вывод в таблицу, !*! Happy_demon, 14:08 , 26-Апр-07 (2)
      >А вообще, не проще ли это сделать нормальной хтмл`ной табличкой?
      >
      >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>';
      Спасибо, проще. именно это и сделал. пойду до ума доводить (кодировка, пустые ячейки некрасиво оформляются, выделение жирным чисел в последней колонке и прочая, что еще придет в голову). еще раз огромное спасибо




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

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