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.

Politica de Privacidad