UNIDAD 6: LINUX PHP REGISTROS Y ARCHIVOS DIRECTOS

TEMA 5: FILTROS CONDICIONES ARCHIVOS LINUX PHP

Otro problema similar al anterior es el de filtros o condiciones, es decir en muchas ocasiones es necesario obtener informacion acerca de un subconjunto de renglones de el archivo.

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

Tambien se resuelve de manera similar a los de archivos secuenciales es decir usando un ciclo de lectura de todo el archivo e ir desplegando todos los registros que cumplan la condicion.

Prog30.php


<HTML>

<FORM ACTION=prog30.php METHOD=post>

EDAD >=<INPUT TYPE=text NAME=EDAD><BR>

<INPUT TYPE=submit NAME=OK VALUE="FILTRAR"><BR>

</FORM></HTML>

<?php

if ($OK == "FILTRAR") {

// tamano registro y cantidad de registros

$TR=47;$CR=filesize('datos.dat') / $TR;

// creando y abriendo archivo

$archivo=fopen('datos.dat','a+') or die("no puedo abrir archivo");

//empezando una tabla html

echo "<HTML><TABLE Border=10 CellPadding=5><TR>";

echo"<th bgcolor=Green>CLAVE</th><th bgcolor=White>NOMBRE</th><th bgcolor=Red>EDAD</th><th bgcolor=YellowRed>ESTATURA</th></TR>";

// abriendo en lectura el registro

for($x=1; $x<=(int)$CR; $x=$x+1)

{

// leyendo y desempacando el registro

$reg=fread($archivo,$TR);

$reg= unpack("iclave/A30nombre/iedad/destatura/A1bandera", $reg);

// desplegando

if ($reg[bandera] == "A" and $reg[edad]>=$EDAD ){

echo"<tr>";

echo "<td>".$reg[clave]."</td>";

echo "<td>".$reg[nombre]."</td>";

echo "<td>".$reg[edad]."</td>";

echo "<td>".$reg[estatura]."</td>";

echo"</tr>"; };

};

//cerrando archivo y tabla

echo "</table>";

fclose($archivo);

};

?>

corrida:

image118.jpg

Como se observa es un problema y una solucion similar al tema anterior de busquedas.

PROGRAMACION ARCHIVOS LINUX PHP

HACERLES PROGRAMAS DE FILTRADO A LOS ARCHIVOS ANTERIORES, PERO LA CONDICION DE BUSQUEDA FORMARLA CON COMPONENTES HTML DE SELECCION(UNO PARA LA VARIABLE Y OTRO PARA EL OPERADOR RELACIONAL) Y UN COMPONENTE TEXT( PARA EL DATO), ESTO PERMITIRIA QUE SE PUDIERA FILTRAR EL ARCHIVO POR CUALQUIER CAMPO y cualquier operador.

 




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