El proceso de consulta de datos de una tabla es similar al de listado, la diferencia es que se muestra sólo aquel o aquellos que cumplen la condición por la que buscamos.
Haremos un programa que nos permita consultar los datos de un alumno ingresando su mail para su búsqueda. Tengamos en cuenta que no puede haber dos alumnos con el mismo mail, por lo que la consulta nos puede arrojar uno o ningún registro.
Debemos codificar un formulario para el ingreso del mail a consultar:
pagina1.html
<html> <head> <title>Problema</title> </head> <body> <form action="pagina2.php" method="post"> Ingrese el mail del alumno a consultar: <input type="text" name="mail"> <br> <input type="submit" value="buscar"> </form> </body> </html>
Por otro lado tenemos el archivo "pagina2.php" que se encarga de buscar el mail ingresado en el formulario:
<html> <head> <title>Problema</title> </head> <body> <?php $conexion = mysqli_connect("localhost", "root", "", "base1") or die("Problemas con la conexión"); $registros = mysqli_query($conexion, "select codigo,nombre,codigocurso from alumnos where mail='$_REQUEST[mail]'") or die("Problemas en el select:" . mysqli_error($conexion)); if ($reg = mysqli_fetch_array($registros)) { echo "Nombre:" . $reg['nombre'] . "<br>"; echo "Curso:"; switch ($reg['codigocurso']) { case 1: echo "PHP"; break; case 2: echo "ASP"; break; case 3: echo "JSP"; break; } } else { echo "No existe un alumno con ese mail."; } mysqli_close($conexion); ?> </body> </html>
Lo más importante se encuentra en el comando select:
$registros = mysqli_query($conexion, "select codigo,nombre,codigocurso from alumnos where mail='$_REQUEST[mail]'") or die("Problemas en el select:" . mysqli_error($conexion));
Acá es donde con la clausula where seleccionamos sólo el registro que cumple con la condición que el mail sea igual al que ingresamos.
Como sólo puede haber un registro que cumpla la condición, llamamos a la función mysqli_fetch_array en un if y no una estructura repetitiva como el listado:
if ($reg = mysqli_fetch_array($registros)) {
En caso de retornar un vector asociativo la condición del if se verifica como verdadera y pasa a mostrar los datos, en caso de retornar false se ejecuta el else.
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ó)
Confeccionar un programa que permita ingresar el nombre de un alumno en un formulario, luego mostrar los datos del mismo (tener en cuenta que puede haber más de un alumno con el mismo nombre)