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:
<!doctype html> <html> <head> <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> <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 NotePad++ y grabarlo en la carpeta c:\wamp\www con un nombre con extensión php (si hay varios cuadros
de texto grabar cada uno en un archivo distinto).
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.