Implementaremos el algoritmo para recuperar los datos de un artículo ingresando su código para su búsqueda.
Primero debemos definir un formulario donde ingresemos el código de artículo a consultar y llamar a otra página donde verificamos si existe dicho código de artículo y recuperamos simultáneamente la descripción del rubro que pertenece dicho artículo.
El formulario de consulta es:
pagina1.html
<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Consulta de artículo</title> </head> <body> <form method="post" action="pagina2.php"> Ingrese el código del artículo a consultar: <input type="text" name="codigo" size="10" required> <br> <input type="submit" value="Consultar"> </form> </body> </html>
Y la pagina2.php donde hacemos la búsqueda es:
<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Consulta de artículos</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"); $registros = $mysql->query("select ar.descripcion as descripcionart, precio, ru.descripcion as descripcionrub from articulos as ar inner join rubros as ru on ru.codigo=ar.codigorubro where ar.codigo=$_REQUEST[codigo]") or die($mysql->error); if ($reg = $registros->fetch_array()) { echo 'Descripción:' . $reg['descripcionart'] . '<br>'; echo 'Precio:' . $reg['precio'] . '<br>'; echo 'Rubro:' . $reg['descripcionrub'] . '<br>'; } else echo 'No existe un artículo con dicho código'; $mysql->close(); ?> </body> </html>
En la consulta debemos extraer toda la fila de la tabla articulos que coincide con el código de artículo ingresado, y a su vez debemos recuperar la descripción del rubro de la tabla relacionada:
$registros=$mysql->query("select ar.descripcion as descripcionart, precio, ru.descripcion as descripcionrub from articulos as ar inner join rubros as ru on ru.codigo=ar.codigorubro where ar.codigo=$_REQUEST[codigo]") or die($mysql->error);
Creamos alias para las columnas llamadas descripción de las tablas articulos y rubros, con esto evitamos ambigüedades al hacer referencia a dichos campos.
El where nos permite solo extraer la fila que coincide con el código ingresado por el usuario y no todas las filas como hemos hecho en el listado.
Mediante un if verificamos mediante la llamada al método fetch_array si se recuperó una fila con el select, en caso afirmativo se ejecuta el bloque del verdadero del if donde mostramos los datos que quedaron almacenados en el vector $reg.
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ó)
Implementar la consulta de un artículo por su descripción. En un formulario el usuario ingresa la descripción y luego si existe se muestra su código, precio y rubro al que pertenece.