UNIDAD 7: INTRODUCION A LAS BASES DE DATOS

TEMA LINUX GCC 10: FILTROS

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

Por ejemplo todos los estudiantes que sean mayores de 17 años, 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 instrucción select etc, from tabla, where CONDICION;

Codigo prog40.html


<HTML>

<FORM ACTION=http://192.168.1.251/~tusitio/cgi-bin/prog40.cgi METHOD=POST>

EDADES MAYORES DE:<INPUT TYPE=text NAME=EDAD> <BR>

<INPUT TYPE=submit VALUE=BUSCAR>

</FORM></HTML>

corrida prog40.html

image124.jpg

prog40.cpp


#include <stdio.h>

#include <stdlib.h>

#include <string>

#include <iostream>

#include <lcnet.h>

#include <mysql.h>

using namespace std;

int main()

{

// creando variables globales

MYSQL coneccion;

MYSQL_RES *resultset;

MYSQL_ROW renglon;

// construyendo pagina

cout << "Content-type: text/html\n\n";

cout << "<html>" << endl;

cout << "<TABLE Border=10 CellPadding=5><TR>" << endl ;

cout << "<th bgcolor=Green>CLAVE</th><th bgcolor=White>NOMBRE</th>" << endl;

cout << "<th bgcolor=Red>EDAD</th><th bgcolor=Blue>ESTATURA</th> </TR>"<< endl;

// inicializando y conectando

if ( mysql_init(&coneccion) == NULL)

cout << "error inicializando" << endl;

if ( mysql_real_connect(&coneccion,"localhost","USUARIO","PASSWORD","mibase",0,NULL,0) == NULL )

cout << "error conectando" <<endl;

// construyendo select query

char q[200], temp[20];

strcpy(q,"select * from mitabla where edad >= ") ;

strcpy(temp, getstring("EDAD").c_str() );

strcat(q,temp);

if ( mysql_query(&coneccion,q) !=0) cout << "error en select" <<endl;

// cargando el resultset con la tabla en disco

resultset = mysql_store_result(&coneccion);

if ( resultset==NULL) cout << "error en resultset" << endl;

// construyendo tabla html de despliegue

// y usando algunas funciones de mysql_

for(int r = 1; r <= mysql_num_rows(resultset); r++)

{ renglon = mysql_fetch_row(resultset);

cout << "<TR>" << endl ;

cout << "<TD>" << renglon[0] << "</TD>" << endl;

cout << "<TD>" << renglon[1] << "</TD>" << endl;

cout << "<TD>" << renglon[2] << "</TD>" << endl;

cout << "<TD>" << renglon[3] << "</TD>" << endl;

cout << "</TR>" << endl ;

};

// liberando la memoria del servidor del resultset

mysql_free_result(resultset);

mysql_close(&coneccion);

cout << "</table></html>" << endl;

exit(0);

}

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 prog40.cgi pero eso queda de tarea.

Corrida prog40.cgi

image125.jpg

TAREAS PROGRAMACION LINUX GCC PROGRAMACION LINUX GCC :

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

 




Google
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki
Politica de Privacidad