Procederemos ahora a implementar el algoritmo para modificar datos de una tabla.
Ingresaremos el código de rubro, en el caso que exista procederemos a mostrar en un control HTML text la descripción del rubro para que el usuario pueda modificarlo y seguidamente registraremos el cambio en la tabla rubros.
Debemos implementar tres páginas: una que es el formulario donde ingresamos el código de rubro a modificar, la segunda página es otro formulario donde cargamos la descripción actual del rubro y finalmente la tercer página donde procedemos a efectuar la modificación mediante el comando SQL update.
La primer página tiene por objetivo ingresar por teclado el código del rubro a buscar:
pagina1.html
<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Modificación de rubro</title> </head> <body> <form method="post" action="pagina2.php"> Ingrese el código de rubro a modificar: <input type="text" name="codigo" size="10" required> <br> <input type="submit" value="Consultar"> </form> </body> </html>
Luego la segunda página busca la descripción del rubro y procede a mostrarla precargada en un control HTML de tipo text:
<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Modificación de rubro.</title> </head> <body> <?php $mysql = new mysqli("localhost", "root", "", "base1"); if ($mysql->connect_error) die("Problemas con la conexión a la base de datos"); $registro = $mysql->query("select descripcion from rubros where codigo=$_REQUEST[codigo]") or die($mysql->error); if ($reg = $registro->fetch_array()) { ?> <form method="post" action="pagina3.php"> Descripción del rubro: <input type="text" name="descripcion" size="50" value="<?php echo $reg['descripcion']; ?>"> <input type="hidden" name="codigo" value="<?php echo $_REQUEST['codigo']; ?>"> <br> <input type="submit" value="Confirmar"> </form> <?php } else echo 'No existe un rubro con dicho código'; $mysql->close(); ?> </body> </html>
Como vemos si ingresa al if procedemos a crear un formulario HTML con un elemento text que inicializamos la propiedad value con la descripción actual del rubro. Y en un control de tipo hidden almacenamos el código del rubro ingresado en el formulario anterior para poder pasarlo a la siguiente página (sino no podríamos saber el código del rubro que queremos modificar):
<input type="text" name="descripcion" size="50" value="<?php echo $reg['descripcion']; ?>"> <input type="hidden" name="codigo" value="<?php echo $_REQUEST['codigo']; ?>">
La última página procedemos a efectuar el update de la tabla rubros tomando como datos los dos elementos del formulario (text y el hidden):
<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Modificación de rubro.</title> </head> <body> <?php $mysql = new mysqli("localhost", "root", "", "base1"); if ($mysql->connect_error) die("Problemas con la conexión a la base de datos"); $mysql->query("update rubros set descripcion='$_REQUEST[descripcion]' where codigo=$_REQUEST[codigo]") or die($mysql->error); echo 'Se modificó la descripción del rubro'; $mysql->close(); ?> </body> </html>
En esta última página procedemos a efectuar el update en la tabla rubros:
$mysql->query("update rubros set descripcion='$_REQUEST[descripcion]' where codigo=$_REQUEST[codigo]") or die($mysql->error);
Copiar el contenido de este cuadro de texto al VS Code y almacenarlo en la carpeta c:\xampp\htdocs con un nombre con extensión php.
luego abrir el navegador (Chrome, FireFox, IExplorer etc.) y en la barra de direcciones tipear:
http://localhost/pagina1.php (o el nombre del
archivo que le dió)