Categoria: Programacion Tema: Php Titulo: Mostrar registros sql en php
Fecha del Tema: 2013-04-22 18:28:19Ahora veremos como recuperar los datos almacenados en la tabla alumnos de la base de datos phpfacil. El programa que muestra los registros en una página es: <html> <head> <title>Problema</title> </head> <body> <?php $conexion=mysql_connect("localhost","root","z80") or die("Problemas en la conexion"); mysql_select_db("phpfacil",$conexion) or die("Problemas en la selección de la base de datos"); $registros=mysql_query("select codigo,nombre, mail, codigocurso from alumnos",$conexion) or die("Problemas en el select:".mysql_error()); while ($reg=mysql_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>"; } mysql_close($conexion); ?> </body> </html> La primer parte es similar a lo visto hasta ahora, es decir nos conectamos a la base de datos y seleccionamos la base de datos phpfacil. 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: <?php $registros=mysql_query("select codigo,nombre, mail, codigocurso from alumnos",$conexion) or die("Problemas en el select:".mysql_error()); ?> En caso de haber codificado incorrectamente, el comando SQL select la función mysql_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 extraidos: <?php while ($reg=mysql_fetch_array($registros)) ?> Para rescatar registro a registro los datos obtenidos por el select debemos llamar a la función mysql_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 <?php 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 mysql_fetch_array. Como vemos, para rescatar cada campo accedemos mediante el vector asociativo $reg indicando como subíndice un campo indicado en el select: $reg[`codigo`] Cada vez que llamamos a la función mysql_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 llamamos disponemos la marca "<hr>".
Ahora veremos como recuperar los datos almacenados en la tabla alumnos de la base de datos phpfacil. El programa que muestra los registros en una página es: <html> <head> <title>Problema</title> </head> <body> <?php $conexion=mysql_connect("localhost","root","z80") or die("Problemas en la conexion"); mysql_select_db("phpfacil",$conexion) or die("Problemas en la selección de la base de datos"); $registros=mysql_query("select codigo,nombre, mail, codigocurso from alumnos",$conexion) or die("Problemas en el select:".mysql_error()); while ($reg=mysql_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>"; } mysql_close($conexion); ?> </body> </html> La primer parte es similar a lo visto hasta ahora, es decir nos conectamos a la base de datos y seleccionamos la base de datos phpfacil. 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: <?php $registros=mysql_query("select codigo,nombre, mail, codigocurso from alumnos",$conexion) or die("Problemas en el select:".mysql_error()); ?> En caso de haber codificado incorrectamente, el comando SQL select la función mysql_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 extraidos: <?php while ($reg=mysql_fetch_array($registros)) ?> Para rescatar registro a registro los datos obtenidos por el select debemos llamar a la función mysql_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 <?php 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 mysql_fetch_array. Como vemos, para rescatar cada campo accedemos mediante el vector asociativo $reg indicando como subíndice un campo indicado en el select: $reg[`codigo`] Cada vez que llamamos a la función mysql_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 llamamos disponemos la marca "<hr>".