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ó)