Modificacion de Personas


 

               Esta aplicación debe tener una serie de presentaciones para su uso. En primer lugar debería permitir el ingreso del nombre de la persona a modificar, luego, en caso de encontrarlo, mostrar todos sus datos en campos editores para poder realizar cualquier modificación en ellos. Una vez actualizados los datos, el programa debería permitir la grabación de ellos, o bien, la cancelación de la actualización. Si se opta por la grabación, se procede a  ejecutar la sentencia: UPDATE, la cual tiene por finalidad la actualización de la tabla con los nuevos valores.  Si se opta por la cancelación, se ignoran los cambios y se envía la leyenda Modificación Cancelada.

               El programa para el ingreso de la persona a modificar los datos (ModificacionDePersonas.htm), es similar al de Consultas y al de Bajas:

____________________________________________________________________
<html>
<Title> Modificacion de datos Personales </Title>
<Body>
<H2> Modificacion por Nombre </H2>
<Hr>
<Br>
<Table Border="3" align="Center" width="65%">
<Form name="Modificacion" action="ModificacionDePersonas.php" method="post">
<TR>
<TH width="40%">Ingrese el Nombre de la persona a Modificar los datos :
<TD><Input Type="Text" name="NomX" size=55 >
</TR>
</Table>
<BR>
<table border="3" Align="Center">
<TR><TD>
<Input Type="Submit" name="BotonEnviar"
value="Buscar">
</TD></TR>
</Table>
<Br><Br>
<P Align="Center">
<a Href="ListadoDePersonas.php"> Ver Listado </a>
</Form>
</Body>
</Html>
____________________________________________________________________

               Una vez ingresado el nombre a buscar, en caso de existir en la base de datos, se deberán mostrar todos lo datos personales para su modificación, quedando la siguiente pantalla.

El programa para llevar a cabo esta acción se llama ModificacionDePersonas.php y su código es el siguiente:

____________________________________________________________________
<Htm>
<Title> Modificaciones de Personas </Title>
<Body>

<?Php
require ("conexion.php");
$idCone = conexion();
$NomX = $_REQUEST[NomX];
$SQL = "SELECT Nombre, Direccion, Mail, Telefono FROM Personas
Where (Nombre LIKE '$NomX' )";

$Registro = mysql_query ($SQL, $idCone);

if($Fila = mysql_fetch_array($Registro))
{
// Asignar Datos a las variables
$Nombre= $Fila[Nombre];
$Direccion = $Fila[Direccion];
$Mail = $Fila[Mail];
$Telefono = $Fila[Telefono];

// Imprimir Formulario y Modificar los datos
?>
<H2> Actualización de Datos Personales </H2>
<Hr>
<Br>
<Table Border="3" align="Center" width="40%">
<Form name="Modi" action="Actualizar.php" method="Post">

<Input Type="hidden" name="NombreAnterior" size=50 value="<?Php echo $Nombre?>">
<TR>
<TD>Nombre:
<TD><Input Type="Text" name="Nombre" size=50 value="<?Php echo $Nombre?>">
</TR>
<TR>
<TD>Direccion:
<TD><Input Type="Text" name="Direccion" size=50 value="<?Php echo $Direccion?>">
</TR>
<TR>
<TD>Mail:
<TD><Input Type=Text" name="Mail" size=50 value="<?Php echo $Mail?>">
</TR>
<TR>
<TD>Telefono:
<TD><Input Type="Text" name="Telefono" size=50 value="<?Php echo $Telefono?>">
</TR>
</Table>
<BR>

<table border="3" Align="Center">
<TR>
<TD><Input Type="Submit" name="BotonGrabar" value="Actualizar">
<TD><Input Type="Submit" name="BotonCancelar" value="Cancelar">
</TR>
</Table>
</Form>
<?Php
}
else
{
echo "<h2>";
echo "No existe " . $NomX;
echo " en la Base de Datos";
?>
<Form name="Volver" action="ModificacionDePersonas.htm" method="Post">
<P Align = "Center">
<Input Type="Submit" name="Volver" value="Otra Busqueda">
</Form>
<?Php
}
mysql_free_result ($Registro);
mysql_close($idCone);
?>
</Body>
</Htm>
____________________________________________________________________

En este proceso, se comienza por rescatar el nombre proveniente del formulario anterior en la variable $Nomx y acontinuación, se procede a la búsqueda de dicho nombre creando la consulta:

$SQL = "SELECT Nombre, Direccion, Mail, Telefono FROM Personas
Where (Nombre LIKE '$NomX' )";

conjuntamente con la línea: $Registro = mysql_query ($SQL, $idCone);

Tener en cuenta que el nombre a buscar debe estar completo para poder localizarlo. En caso de encontrarlo la variable $Registro almacenará los registros que cumplan con la condición y en $Fila queda el primer registro de los almacenados, de esta manera se estará en condiciones de mostrar todos los datos para su modificación..
En primer medida, se deben asignar los valores a las variables de los campos, esto se logra con las líneas :

$Nombre= $Fila[Nombre];
$Direccion = $Fila[Direccion];
$Mail = $Fila[Mail];
$Telefono = $Fila[Telefono];

Una vez asignadas las variables, se muestra el formulario con los datos incluidos para su modificación.

 La línea:

<Input Type="hidden" name="NombreAnterior" size=50 value="<?Php echo $Nombre?>">

es para guardar el nombre de búsqueda y no perderlo en caso de modificar el nombre en este formulario. De esta manera, al campo NombreAnterior se le asigna el valor que contiene la variable $Nombre.
Con las líneas siguientes, se asignan a cada uno de los campos el contenido de las variables que le corresponden, luego se colocan dos botones en las líneas:

<TD><Input Type="Submit" name="BotonGrabar"  value="Actualizar">
<TD><Input Type="Submit" name="BotonCancelar"   value="Cancelar">

las cuales se utilizan para grabar los cambios realizados o para ignorar los mismos. Cuando se pulsa el botón grabar, se llama a la página Actualizar.php descripta en la propiedad "action" del formulario.


El código de la página "Actualizar.php" puede verse a continuación:

____________________________________________________________________
<?Php
if (isset($_REQUEST[BotonGrabar]))
{
require ("conexion.php");
$idCone = conexion();

$NombreAnterior = $_REQUEST[NombreAnterior];
$Nombre = $_REQUEST[Nombre];
$Direccion = $_REQUEST[Direccion];
$Mail = $_REQUEST[Mail];
$Telefono = $_REQUEST[Telefono];

$SQL = "UPDATE Personas SET
Nombre ='$Nombre',
Direccion='$Direccion',
Mail ='$Mail',
Telefono ='$Telefono'
Where (Nombre LIKE '$NombreAnterior' )" ;

mysql_query ($SQL, $idCone);
mysql_close($idCone);

echo "<H2>";
echo "<p Align=Center>";
echo "Datos Actualizados correctamente para: ";
echo $NombreAnterior;
echo "<Br><Br>";
}
else
{
echo "<H2>";
echo "<p Align=Center>";
echo "Actualización Cancelada";
echo "<Br><Br>";
}
?>
<Form name="Volver" action = "ModificacionDePersonas.htm" method="Post">
<p Align="Center">
<Input Type="Submit" name="Volver" value="Otra Busqueda">
</Form>
____________________________________________________________________

Se comienza por preguntar si se presionó el "BotonGrabar", en caso de ser verdadero, se abre la conexión y se rescatan los datos actualizados.
Una vez rescatados los datos, se regraban los cambios con las líneas:

$SQL = "UPDATE Personas SET
Nombre ='$Nombre',
Direccion='$Direccion',
Mail ='$Mail',
Telefono ='$Telefono'
Where (Nombre LIKE '$NombreAnterior' )" ;
mysql_query ($SQL, $idCone);

Esto significa:

Adapte en la tabla personas, al conjunto de campos:
Nombre con el contenido de la variable $Nombre, Direccion con el contenido de la variable $Direccion, Mail con el contenido de la variable $Mail y Telefono con el contenido de la variable $Telefono,
donde el dato del campo Nombre sea igual que el valor almacenado en la variable $NombreAnteriror.

Si en lugar de haber pulsado el botón grabar, se hubiera pulsado el botón cancelar, se procede a colocar la leyenda "Actualización Cancelada".