Para recuperar datos desde MySQL o MariaDB debemos emplear el comando select:
select codigo,nombre,mail,codigocurso from alumnos
Debemos pasar desde PHP un string con este comando para que MySQL lo ejecute y retorne todas las filas de la tabla alumnos.
Veremos entonces como recuperar los datos almacenados en la tabla alumnos de la base de datos "base1".
La primer parte es similar a lo visto hasta ahora, es decir nos conectamos con el servidor de base de datos y seleccionamos la base de datos base1:
$conexion = mysqli_connect("localhost", "root", "", "base1") or
die("Problemas con la conexión");
El comando SQL que nos permite recuperar datos de tablas se llama SELECT. Indicamos los campos a rescatar de la tabla y luego de la palabra clave from indicamos el nombre de la tabla:
$registros = mysqli_query($conexion, "select codigo,nombre,mail,codigocurso
from alumnos") or
die("Problemas en el select:" . mysqli_error($conexion));
En caso de haber codificado incorrectamente, el comando SQL select la función mysqli_query retorna false, por lo que se ejecuta el comando siguiente al operador or, es decir la función die.
Si el comando SQL es correcto, en la variable $registros se almacena una referencia a los datos rescatados de la tabla alumnos. Ahora debemos ir mostrando registro a registro los datos extraídos:
while ($reg = mysqli_fetch_array($registros)) {
Para rescatar registro a registro los datos obtenidos por el select debemos llamar a la función mysqli_fetch_array. Esta función retorna un vector asociativo con los datos del registro rescatado, o false en caso de no haber más registros. Es decir que si retorna un registro se almacena en el vector $reg y la condición del while se valida como verdadero y pasa a ejecutarse el bloque del while:
echo "Codigo:" . $reg['codigo'] . "<br>";
echo "Nombre:" . $reg['nombre'] . "<br>";
echo "Mail:" . $reg['mail'] . "<br>";
echo "Curso:";
switch ($reg['codigocurso']) {
case 1:
echo "PHP";
break;
case 2:
echo "ASP";
break;
case 3:
echo "JSP";
break;
}
echo "<br>";
echo "<hr>";
}
El bloque del while muestra el contenido del registro rescatado por la función mysqli_fetch_array. Como vemos, para rescatar cada campo accedemos mediante el vector asociativo $reg indicando como subíndice un campo contenido en el select:$reg['codigo']
Cada vez que llamamos a la función mysqli_fetch_array nos retorna el siguiente registro.
Cuando debemos mostrar el curso mediante la instrucción switch, analizamos si tiene un 1,2 ó 3 y procedemos a mostrar el nombre del curso.
Para separar cada alumno en la página HTML disponemos el elemento "<hr>"
Comentarios
Publicar un comentario