Listado (selección de registros de una tabla)
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".
El programa que muestra los
registros en una página es:
pagina1.php
<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,mail,codigocurso
from alumnos") or
die("Problemas en el select:" .
mysqli_error($conexion));
while ($reg = mysqli_fetch_array($registros))
{
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>";
}
mysqli_close($conexion);
?>
</body>
</html>
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