Bienvenidos sean a este post, hoy trabajaremos con estas dos instrucciones en el ejemplo del post anterior.
Hasta el post anterior hicimos que la pagina ingrese alumnos nuevos y los busque pero hoy nos centraremos en ver como modificar su informacion y poder eliminarlos, veamos el codigo de nuestra pagina hasta el momento:
forms.php
<?php
if (isset($_REQUEST["user"])) {
$usuario=$_REQUEST["user"];
} else {
$usuario="";
}
if (isset($_REQUEST["nombre"])) {
$nombre = $_REQUEST["nombre"];
} else {
$nombre = "";
}
if (isset($_REQUEST["apellido"])) {
$apellido = $_REQUEST["apellido"];
} else {
$apellido = "";
}
include("tutorial.inc");
$con = base_connect("curso");
if ($usuario!="")
{
$query="select * from alumnos where usuario='$usuario'";
$qBuscar=mysqli_query($con, $query);
while($linea=mysqli_fetch_array($qBuscar))
{
$user = $linea[1];
$name = $linea[2];
$last = $linea[3];
}
if ($user=="")
{
if ($nombre!="" && $apellido!="" && $usuario!="")
{
$query="insert into alumnos "
. "(id,usuario,nombre,apellido,edad,ciudad) "
. "values "
. "(NULL,'$usuario','$nombre','$apellido',NULL,NULL)";
$qIngreso=mysqli_query($con, $query);
$user = $usuario;
$name = $nombre;
$last = $apellido;
$salida = "si";
}
else
{
$salida = "";
}
} else {
$salida = "si";
}
} else {
$salida = "";
}
?>
<html>
<head>
<title>Formulario de usuarios</title>
</head>
<body>
<?php if ($salida!="si") { ?>
<form name="form1" method="post" action="">
Ingresa el usuario: <input type="text" name="user" value=""><br>
Ingresa el nombre: <input type="text" name="nombre" value=""><br>
Ingresa el apellido: <input type="text" name="apellido" value=""><br>
<br>
<button type="submit">Subir</button>
<button type="reset">Cancelar</button>
</form>
<?php } else { ?>
Usuario: <?php echo $user; ?><br>
Nombre: <?php echo $name; ?><br>
Apellido: <?php echo $last; ?><br>
<br>
<button type="button" onclick="location.href='forms.php'">Volver</button>
<?php } ?>
</body>
</html>
Pasemos a hacer la primera modificacion del codigo para que podamos actualizar a los alumnos, para ello iremos al bloque PHP inicial, en el condicional donde verifica si user es igual a nada y lo modificaremos pero para ello veamos primero el condicional actual:
if ($user=="")
{
if ($nombre!="" && $apellido!="" && $usuario!="")
{
$query="insert into alumnos "
. "(id,usuario,nombre,apellido,edad,ciudad) "
. "values "
. "(NULL,'$usuario','$nombre','$apellido',NULL,NULL)";
$qIngreso=mysqli_query($con, $query);
$user = $usuario;
$name = $nombre;
$last = $apellido;
$salida = "si";
}
else
{
$salida = "";
}
} else {
$salida = "si";
}
Y lo modificaremos de la siguiente manera:
if ($user=="")
{
if ($nombre!="" && $apellido!="" && $usuario!="")
{
$query="insert into alumnos "
. "(id,usuario,nombre,apellido,edad,ciudad) "
. "values "
. "(NULL,'$usuario','$nombre','$apellido',NULL,NULL)";
$qIngreso=mysqli_query($con, $query);
$user = $usuario;
$name = $nombre;
$last = $apellido;
$salida = "si";
}
else
{
$salida = "";
}
} else {
if ($nombre!="" && $apellido!="")
{
$query="update alumnos "
. "set nombre='$nombre',"
. "apellido='$apellido' "
. "where usuario='$user'";
$qActualiza = mysqli_query($con, $query);
$name = $nombre;
$last = $apellido;
}
$salida = "si";
}
En realidad la unica parte que modificamos fue la del else del condicional donde la usaremos no solamente para mostrar los datos sino tambien para actualizarlos en caso de que nombre y apellido sean distintos de nada, en este caso vuelvo a concatenar el query para que sea un poco mas «monono» el ejemplo pero se puede hacer en una sola linea, en este caso le decimos que actualice el valor de nombre y apellido donde el usuario sea el encontrado del query por fuera del condicional, para despues ser ejecutado por medio de mysqli_query, despues podemos hacer dos cosas: la primera seria ejecutar todo un query para buscar los datos modificados o simplemente tomar estos dos datos y asignarlo a name y last respectivamente, para simplificar el codigo hicimos esto pero se puede hacer otra busqueda y verificar si el query anterior se ejecuto correctamente, por ultimo seguimos con el salida igual a si para poder ver los datos tanto en la «busqueda» como en la actualizacion, probemos a ver como funciona la pagina hasta ahora mediante el siguiente video
En el video podemos ver como se actualiza el elemento de la tabla, solo nos resta un tema mas como es la eliminacion de un elemento de nuestra tabla, para ello debemos hacer un par de modificaciones, la primera sera en la seccion encargada de mostrar el resultado de la busqueda:
Usuario: <?php echo $user; ?><br>
Nombre: <?php echo $name; ?><br>
Apellido: <?php echo $last; ?><br>
<br>
<button type="button" onclick="location.href='forms.php'">Volver</button>
De la siguiente manera:
Usuario: <?php echo $user; ?><br>
Nombre: <?php echo $name; ?><br>
Apellido: <?php echo $last; ?><br>
<br>
<button type="button" onclick="volver()">Volver</button>
<button type="button" onclick="borrar('<?php echo $user; ?>')">Borrar</button>
En esta modificacion la primera fue en el boton para volver donde quitamos la llamada a location.href por una funcion llamada volver y despues agregamos un boton nuevo para borrar el resultado de la busqueda, consiste en otro boton del tipo «button» y lo asociamos a una funcion llamada borrar a la cual le pasaremos como argumento el usuario almacenado en user, ambas funciones seran de Javascript por lo tanto nuestro siguiente sera agregar el bloque de script dentro del bloque de head para definir ambas funciones, el codigo es el siguiente:
<script language="javascript">
<!--
function volver()
{
location.href="forms.php";
}
function borrar(A)
{
location.href="forms.php?user=" + A + "&nombre=borrardato";
}
//-->
</script>
La funcion volver simplemente vuelve a cargar nuestra pagina sin enviar ninguna informacion pero ahora quedo de una mejor forma que la anterior, la segunda funcion le establecemos que el argumento recibido lo almacene en A, despues volvemos a usar location.href donde a nuestra pagina le enviamos el dato del usuario y utilizamos el elemento nombre donde en lugar de pasar el nombre le enviamos una palabra clave lo cual nos servira para informar que este dato debe borrarse, para ello debemos ir al bloque php del comienzo y dentro del condicional donde verifica si usuario es distinto de nada pero antes de buscarlo agregaremos el siguiente bloque:
if ($nombre=="borrardato")
{
$query="delete from alumnos where usuario='$usuario'";
$qBuscar=mysqli_query($con, $query);
}
Aqui verificamos si nombre es igual a borrardato procedemos a crear el query encargado de eliminar al usuario y despues lo ejecutamos con mysqli_query, despues el resto queda como siempre, antes de probarlo veamos como quedo el codigo:
forms.php
<?php
if (isset($_REQUEST["user"])) {
$usuario=$_REQUEST["user"];
} else {
$usuario="";
}
if (isset($_REQUEST["nombre"])) {
$nombre = $_REQUEST["nombre"];
} else {
$nombre = "";
}
if (isset($_REQUEST["apellido"])) {
$apellido = $_REQUEST["apellido"];
} else {
$apellido = "";
}
include("tutorial.inc");
$con = base_connect("curso");
if ($usuario!="")
{
if ($nombre=="borrardato")
{
$query="delete from alumnos where usuario='$usuario'";
$qBuscar=mysqli_query($con, $query);
}
$query="select * from alumnos where usuario='$usuario'";
$qBuscar=mysqli_query($con, $query);
while($linea=mysqli_fetch_array($qBuscar))
{
$user = $linea[1];
$name = $linea[2];
$last = $linea[3];
}
if ($user=="")
{
if ($nombre!="" && $apellido!="" && $usuario!="")
{
$query="insert into alumnos "
. "(id,usuario,nombre,apellido,edad,ciudad) "
. "values "
. "(NULL,'$usuario','$nombre','$apellido',NULL,NULL)";
$qIngreso=mysqli_query($con, $query);
$user = $usuario;
$name = $nombre;
$last = $apellido;
$salida = "si";
}
else
{
$salida = "";
}
} else {
if ($nombre!="" && $apellido!="")
{
$query="update alumnos "
. "set nombre='$nombre',"
. "apellido='$apellido' "
. "where usuario='$user'";
$qActualiza = mysqli_query($con, $query);
$name = $nombre;
$last = $apellido;
}
$salida = "si";
}
} else {
$salida = "";
}
?>
<html>
<head>
<script language="javascript">
<!--
function volver()
{
location.href="forms.php";
}
function borrar(A)
{
location.href="forms.php?user=" + A + "&nombre=borrardato";
}
//-->
</script>
<title>Formulario de usuarios</title>
</head>
<body>
<?php if ($salida!="si") { ?>
<form name="form1" method="post" action="">
Ingresa el usuario: <input type="text" name="user" value=""><br>
Ingresa el nombre: <input type="text" name="nombre" value=""><br>
Ingresa el apellido: <input type="text" name="apellido" value=""><br>
<br>
<button type="submit">Subir</button>
<button type="reset">Cancelar</button>
</form>
<?php } else { ?>
Usuario: <?php echo $user; ?><br>
Nombre: <?php echo $name; ?><br>
Apellido: <?php echo $last; ?><br>
<br>
<button type="button" onclick="volver()">Volver</button>
<button type="button" onclick="borrar('<?php echo $user; ?>')">Borrar</button>
<?php } ?>
</body>
</html>
Con esto tenemos nuestra pagina 100% operativa, vamos a verla en accion mediante el siguiente video
En el video podemos ver como ahora podemos eliminar los elementos de nuestra tabla todo a traves de la misma pagina con un codigo no del todo complejo, por eso les hacia referencia en este post sobre la importancia de utilizar $_REQUEST en lugar de $_POST o $_GET dado que el primero nos permite recuperar informacion ya sea desde la URL como del formulario sin importar su metodo en cambio los otros se restringen unicamente a los metodos que representan.
En resumen, hoy hemos visto como usar update, como podemos actualizar la informacion de una manera simple y sin necesidad de intervencion del operador, por otro lado hemos visto como trabajar con delete todavia de una manera peligrosa pero esto les puede servir como ejemplo para mejorarlo, espero les haya sido util sigueme en tumblr, Twitter o Facebook para recibir una notificacion cada vez que subo un nuevo post en este blog, nos vemos en el proximo post.


Donación
Es para mantenimento del sitio, gracias!
$1.50
