Perl en Español

  1. Home
  2. Tutoriales
  3. Foro
  4. Artículos
  5. Donativos
  6. Publicidad
 

DBI - CGI

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Intermedio
Mensaje Mar Sep 25, 2007 9:19 am
zozo666
Perlero Frecuente
Perlero Frecuente
Registrado: 26 May 2007
Mensajes: 137
DBI - CGI Responder citando

Estoy utilizando la siguiente forma para extraer la información de una tabla:

Perl:
$sth = $dbh->prepare("SELECT * FROM Tabla1 WHERE campo1 = 'hola'");
$sth->execute();

        print "<table>\n";
        while( $resptr$sth->fetchrow_hashref() )
        {
                print "<tr>";
                print "<td>" . $resptr->{"campo1"};
                print "<td>" . $resptr->{"campo2"};
                print "<td>" . $resptr->{"campo3"};
                print "<td>" . $resptr->{"campo4"};
                print "<td>" . $resptr->{"campo5"};
                print "\n";
        }
        print "</table>\n";
print "</body></html>\n";

$dbh->disconnect;


¿Se ve? Utilizo el fetchrow_hashref() para extraer toda la información.

Lo que quería saber es si hay una forma "mejor", más eficaz de hacer lo mismo. Si la hay les agradezco que me la digan. Muchas gracias.

¿Puede ser que haya una forma usando $cgi->param(ALGO => $HASH);?
Mensaje Mar Sep 25, 2007 11:31 am
explorer
Moderador
Moderador
Registrado: 24 Jul 2005
Mensajes: 4086
Ubicación: Valladolid, España
Responder citando

Define 'eficaz' Smile

Si es por acceso a la base de datos, según el manual del DBI lo más eficaz es hacer un fetch sobre variables a las que se les ha aplicado un 'bind'. (Está explicado en los dos últimos párrafos del manual de DBI, sección fetchall_arrayref).

Ahora bien, sí que hay algunos módulos para generar presentaciones de las tablas de la base de datos con CGI. Entra en CPAN y busca por DBI y CGI. Algunos son un poco antiguos. Quizás el más completo, moderno y profesional sea DBIx::Web, a costa de tener que aprenderse su nomenclatura y forma de trabajo.

De otra forma más casera, y como dices que usas CGI, puedes usar sus facilidades para ahorrar escritura en la creación del código HTML.
Mensaje Mie Sep 26, 2007 5:17 pm
kidd
Creador de Perl en Español
Creador de Perl en Español
Registrado: 15 Oct 2003
Mensajes: 1389
Ubicación: México
Responder citando

Bueno, y si usas el HTML::Template para hacer el ouput junto con el DBI, te puede quedar código muy eficiente y corto.

Saludos
Publicar nuevo tema   Responder al tema    Foros de discusión -> Intermedio Todas las horas son GMT - 6 Horas
Página 1 de 1



Powered by phpBB © 2001, 2005 phpBB Group