Entendido.

Este sitio utiliza cookies para analizar la navegación. Si continúa navegando se entiende que acepta su uso. Ver más detalles.";

Logo

Aprende Web

Crea y diseña tus sitios en la Web.

Manual de PHP

PHP: imprescindible para crear páginas web de modo profesional


Y ahora tambien aprende a programar en C++ con Aprende Web C++

logo rss RSS. Suscribir canal.

Buscar en Aprende Web

Traducir página

Visita nuestro blog:

bolg.aprende-web.net

y entérate de las novedades o deja un comentario.

Dudas y sugerencias:

aprendeweb@aprende-web.net





Sobre ésta página

Ültima modificación: 29-01-2016.

Visitas este mes: 64

Visitas el mes pasado: 87

logo
WEB-GRAFÍA

Mi agradecimiento a los siguientes sitios en los que me he basado para la elaboración de este manual.:

Curso de PHP
www.programaciónweb.net
Lecciones PHP
WebTaller.com
Manual de PHP
manualdephp.com
Curso de PHP
Aula Fácil.com
Manual de PHP en español
manual-php.com
PHP a fondo
desarrolloweb.com
Manual de PHP
Foros del Web
Manual de PHP
www.php.net
PHP Tutorial
w3schools.com

Donativos

Si este sitio te parece interesante puedes contribuir con una pequeña aportación.




14. Bases en la web (IV)

14.4 Mostrar datos

php

Recoger los datos de una tabla

Hasta ahora hemos visto cómo crear, modificar o borrar datos, veamos ahora cómo mostrar esos datos en una página web. Para el ejemplo que aquí mostramos elegimos la base "miagenda", que hemos creado en páginas anteriores.

En primer lugar conectamos con MySQL y seleccionamos la base de datos:

$con=mysql_connect($servidor,$usuario,$contraseña);
mysql_select_db("miagenda",$con);

Después escribimos la sentencia $sql, con el código para seleccionar la tabla:

$sql="select * from agenda";

Para seleccionar una tabla escribimos select * from seguido del nombre de la tabla. el asterisco (*) es un comodin que nos permite seleccionar toda la tabla.

Escribimos despues la función mysql_query(), pero esta vez guardamos el resultado de la función en una variable.

$datos=mysql_query($sql,$con);

Hemos guardado los datos devueltos por MySQL correspondientes a la tabla, pero estos datos no los podemos leer tal como están ya que si intentamos leerlos mediante la instrucción echo nos dará un resultado parecido a lo siguiente:

Resource id #25
-----


Mostrar los nombres de los campos

Para poder ver los datos necesitamos otra función: mysql_fetch_array(). Le pasaremos un único argumento que será el resultado obtenido, es decir la variable $datos. La función devuleve un array a la vez indexado y asociativo, en el que estará contenido el primer registro de la tabla.

Sin embargo la función posee un puntero interno que una vez mostrado el primer registro de la tabla, pasa al siguiente, por lo que si repetimos otra vez la función, se mostrará el segundo.

Lo de a la vez indexado y asociativo quiere decir que cada elemento se mostrará dos veces, una como array indexado, con su número correlativo como clave, y otra como array asociativo, en el que la clave es el nombre del campo.

Por lo tanto, el siguiente código mostrará el nombre de los campos que tiene la tabla. Al mismo tiempo guarda

<?php  
$campos=array();
$con=mysql_connect($host,$usuario,$contra);
mysql_select_db("miagenda",$con);
$sql="select * from agenda";
$datos=mysql_query($sql,$con);
$row=mysql_fetch_array($datos);
foreach ($row as $clave=>$valor) {
         if (is_string($clave)) {
            echo "$clave, ";
            array_push($campos,$clave);
            }
         }
mysql_close($con);
?>

Observa cómo mediante la función is_string() seleccionamos las claves del array que son elementos con texto, es decir, las que contienen los nombres de los campos. Al mismo tiempo hemos guardado los nombres de los campos en un array (funcion array_push()) para poder utilizarlos luego para hacer una tabla.

El resultado del código anterior nos dará en pantalla lo siguiente:

IDagenda, nombre, telefono, email, descripcion,

Mostrar los datos de los registros

la función $row=mysql_fetch_array($datos); nos muestra los datos de un único registro, y mueve después el puntero interno al siguiente registro; por lo que si queremos ver los datos de todos los registros deberemos repetirla tantas veces como registros tengamos. Para ello utilizaremos el bucle while de la siguiente manera:


<?php  
$con=mysql_connect("localhost","root",""); //conexion MySQl
mysql_select_db("miagenda",$con); //Seleccionar base datos
$sql=" select * from agenda"; //código MySQL
$datos=mysql_query($sql,$con); //enviar código MySQL
while ($row=mysql_fetch_array($datos)) { //Bucle para ver todos los registros
      $nombre=$row['nombre']; //datos del campo nombre
      $telefono=$row['telefono']; //datos del campo teléfono
      $email=$row['email']; //datos del campo email
      echo "$nombre, $telefono, $email. <br/>"; //visualizar datos
      }
mysql_close($con);//cerrar conexion
?>

El bucle se repetirá mientras lo expresado en el paréntesis dé un valor no falso, es decir, mientras no de un valor nulo. Esto garantiza que el bucle recorrerá todos los registros de la tabla. Mientras se recorren podemos mandarlos a pantalla, o guardarlos en arrays.

Podemos elegir los campos de los que vamos a obtener los datos, marcando los elementos del array "$row". El código anterior nos mostrará en pantalla los datos solicitados, lo veremos así:

Juan Palomero, 647251359, juanpalomero@yahoo.es.
Silvia Miranda, 628554799, silmir10@gmail.com.
Federico Camuñas, 657218935, fedcamun@gmail.com.
Vicente Gracia, 685138554, vicentegracia@msn.com.
Agueda Ruiperez, 617255493, agarupez10@ymail.com.

Esto sólo es un ejemplo, por supuesto, al hacer una página podemos ordenarlos dentro de una tabla u organizarlos de otra manera.


Ordenar datos

Si se nos muestran muchos datos tenemos la posibilidad de que nos salgan ya ordenados, la única variación es añadir al código MySQL la sentencia order by nombre_campo, por ejemplo:

$sql="select * from agenda order by nombre"

Esto ordenará los registros de la agenda alfabéticamente de forma ascendente, según el campo "nombre" (desde la A a la Z).

Si el campo indicado como criterio de ordenación es numérico, los registros se ordenarán de menor a mayor.

Los podemos ordenar también de forma descendente (de la Z a la A), si añadimos despues la palabra desc

$sql="select * from agenda order by nombre desc"

Los datos de la tabla agenda, se verán el el siguiente orden tras indicarle una ordenación ascendente.

Agueda Ruiperez, 617255493, agarupez10@ymail.com.
Federico Camuñas, 657218935, fedcamun@gmail.com.
Juan Palomero, 647251359, juanpalomero@yahoo.es.
Silvia Miranda, 628554799, silmir10@gmail.com.
Vicente Gracia, 685138554, vicentegracia@msn.com.



En la siguiente página veremos como buscar registros que coincidan con unas ciertas condiciones.

Buscar datos



manual de PHP

Anterior siguiente ... Siguiente siguiente


imprimir esta página

Página creada por ANYELGUTI.

Sugerencias: aprendeweb@aprende-web.net. Envia un manda un correo

Visita nuestro blog par saber en qué estamos trabajando: Aprende Web Blog

Más sobre anyelguti en http://anyelguti.16mb.com