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

Entradas más populares de este blog

Algoritmo, Programa y Lenguaje de Programación

PHP

formulario control radio en php(servidor).