UNIDAD 7: INTRODUCION A LAS BASES DE DATOS

TEMA PERL 10: FILTROS

Otro problema similar al anterior es el de filtros es decir en muchas ocasiones es necesario obtener informacion acerca de un subconjunto de renglones de la tabla.

Por ejemplo todos los estudiantes que sean mayores de 17 anos, todos los clientes que sean de Tijuana, etc., a esto le llamamos filtros o condiciones.

Tambien se resuelve de manera similar al anterior, es decir usando la instruccion select etc, from tabla, where CONDICION; ya estudiaron su tutorial de sql

Codigo prog43.pl

#! /usr/bin/perl -w
# usando modulo o libreria CGI
use CGI;
use DBI;
# creando el OBJETO de tipo CGI
$q = new CGI;
# mandando servidor los encabezados de la pagina html
print $q->header;
print $q->start_html();
# creando una form o ventana
print $q->startform();
print "EDAD MAYOR QUE: ";
print $q->textfield('EDAD','', 5);
# creando un submit button
print $q->submit('FILTRAR');
# cerrando la forma
print $q->endform();
# cerrando html
print $q->end_html;
if ( $q->param('FILTRAR')) {
$edad1 = $q->param('EDAD');
# empezando una tabla html
print "<HTML><TABLE Border=10 CellPadding=5><TR>";
# construyendo los encabezados de la tabla
print "<th bgcolor=Green>CLAVE</th><th bgcolor=White>NOMBRE</th><th bgcolor=Red>EDAD</th></TR>";
# creando enlace o coneccion dbh=>database handle
my $dbh = DBI->connect('DBI:mysql:mibase:localhost','USUARIO','PASSWORD')|| die "ERROR CONECCION : $DBI::errstr";
# preparando el query sql
# sth=>statement handle convencion mysql tambien
$sth = $dbh->prepare("SELECT * FROM mitabla WHERE edad >= ? ");
$sth->execute($edad1);
# ciclo de lectura de todos los renglones de la tabla aunque sea un solo renglon
while ( my ($clave, $nombre, $edad, $estatura) = $sth->fetchrow_array() ) {
print "<TR><TD>"."$clave"."</TD><TD>"."$nombre"."</TD><TD>"."$edad"."</TD><TD>"."$estatura"."</TD></TR>";
};
# cerrando tabla, instruccion y coneccion
print "</TABLE>";
$sth->finish;
$dbh->disconnect();
print $q->hr();
};

Nota: siguen siendo combinaciones de los programas anteriores pero seria prudente mejor usar dos combobox uno para la variable, otro para el operador relacional y un text para el dato y mandar estos tres datos al prog43.pl pero eso queda de tarea.

Corrida:

image285.jpg

TAREAS PROGRAMACION PERL :

1.- preparar programas de filtrado para sus bases de datos, recordar que sus formas html's deben construirlas con 2 combos y un text, suerte

Politica de Privacidad