UNIDAD 5: LINUX PHP REGISTROS Y ARCHIVOS SEUENCIALES

TEMA 11: EDICION DE REGISTROS ARCHIVOS

Modificar o editar un registro es uno de los procesos mas comunes con archivos en disco, generalmente despues de un fuerte proceso de captura de registros, una revision o consulta general muestra muchos de ellos con errores de captura.

El modelo de programacion cliente-servidor que se esta estudiando, facilita mucho este proceso de edicion.

1.- la forma html pide la clave del registro a editar.

2.- el primer evento “BUSQUEDA” es el programa normal de busqueda que ya se construyo en temas anteriores, pero al desplegar el registro se debera construir una forma html completa (llamada forma o pagina dinamica) que incluya los textboxs cargados con los datos del registro, observar que en general este programa lo que hace es construir una segunda forma html con los datos cargados del registro.

3.- el segundo evento “EDICION” es activado y toma los datos de la forma dinamica , los almacena en un registro temporal que va comparando contra el registro original que se va leyendo del archivo original y cuando la clave del registro original y la clave de registro temporal coinciden, entonces es el registro temporal quien se almacena o graba en el archivo temporal.

Prog25.php


<HTML>

<FORM ACTION=prog25.php METHOD=post>

DAME CLAVE A EDITAR:<INPUT TYPE=text NAME=CLAVE><BR>

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

</FORM></HTML>

<?php

if ($OK == "busqueda") {

// abriendo archivo

$archivo=fopen('alumnos.dat','a+');

// leyendo el archivo

while (!feof($archivo)){

$clave=fgets($archivo);

$nombre=fgets($archivo);

$edad=fgets($archivo);

$estatura=fgets($archivo);

// convirtiendo al mismo tipo

settype($clave,"integer");

settype($CLAVE,"integer");

if ( $CLAVE == $clave){

// construir una forma dinamica

echo "<FORM ACTION=prog25.php METHOD=post>";

echo "CLAVE:<INPUT TYPE=text NAME=CLAVE value=$clave><BR>";

// recordar que strings se encadenan con .

echo "NOMBRE:<INPUT TYPE=text NAME=NOMBRE value= \"".$nombre."\"><BR>";

echo "EDAD:<INPUT TYPE=text NAME=EDAD value=$edad><BR>";

echo "ESTATURA:<INPUT TYPE=text NAME=ESTATURA value=$estatura><BR>";

echo "<INPUT TYPE=submit NAME=OK VALUE=editar><BR>";

echo "</FORM>";

};

};

// cerrando archivo

fclose($archivo);

};

if ($OK == "editar") {

// abriendo dos archivos

$archivo=fopen('alumnos.dat','a+');

$archt=fopen('temporal.dat','a+');

// leyendo original y grabando a temporal

while (!feof($archivo))

{

$clave=fgets($archivo);

$nombre=fgets($archivo);

$edad=fgets($archivo);

$estatura=fgets($archivo);

// convirtiendo al mismo tipo

settype($clave,"integer");

settype($CLAVE,"integer");

if( $CLAVE == $clave and $clave != 0 )

{

// grabando registro editado

fputs($archt, $CLAVE."\n");

fputs($archt, $NOMBRE."\n");

fputs($archt, $EDAD."\n");

fputs($archt, $ESTATURA."\n");

}

elseif ($clave != 0){

// grabando registros almacenados

fputs($archt, $clave."\n");

fputs($archt, $nombre);

fputs($archt, $edad);

fputs($archt, $estatura);

};

}; // fin while

// cerrando los dos archivos

fclose($archivo);

fclose($archt);

// eliminando archivo original

unlink("alumnos.dat");

// renombrando temporal como original

rename("temporal.dat","alumnos.dat");

// avisando

echo "registro editado";

};

?>

corrida:

image112.jpg

corrida prog20

image113.jpg

TAREAS PROGRAMACION LINUX PHP

CONSTRUIRLES PROGRAMAS DE EDICION O MODIFICACION A LOS ARCHIVOS YA CONSTRUIDOS.

 




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