• Publicidad

DBI - CGI

¿Ya sabes lo que es una referencia? Has progresado, el nível básico es cosa del pasado y ahora estás listo para el siguiente nivel.

DBI - CGI

Notapor zozo666 » 2007-09-25 10:19 @471

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

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
$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;
Coloreado en 0.004 segundos, usando GeSHi 1.0.8.4


¿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);?
zozo666
Perlero nuevo
Perlero nuevo
 
Mensajes: 139
Registrado: 2007-05-26 10:36 @483

Publicidad

Notapor explorer » 2007-09-25 12:31 @563

Define 'eficaz' :-)

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.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor kidd » 2007-09-26 18:17 @803

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
Uriel Lizama Perl programmer fundador de Perl en Español
Perl Programming Language
Avatar de Usuario
kidd
Creador de Perl en Español
Creador de Perl en Español
 
Mensajes: 1166
Registrado: 2003-10-15 16:52 @744
Ubicación: México


Volver a Intermedio

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado