dominios y alojamiento web en hostalia

Selección y lectura de registros con PHP

01 de enero de 2001
Valoración del artículo:
Utilizamos el comando Select de SQL para crear una selección de nuestra tabla y mostrar todos los datos en pantalla por medio de un bucle. Con PHP.
Atención: Contenido exclusivo de DesarrolloWeb.com. No reproducir. Copyright.
Dentro de una base de datos, organizada por tablas, la selección de una tabla entera o de un cierto numero de registros resulta una operación rutinaria.

Aquí os mostramos una forma bastante clásica de mostrar en pantalla a partir de un bucle los registros seleccionados por una sentencia SQL:

<HTML>
<HEAD>
<TITLE>lectura.php</TITLE>
</HEAD>
<BODY>
<h1><div align="center">Lectura de la tabla</div></h1>
<br>
<br>
<?
//Conexion con la base
mysql_connect("localhost","tu_user","tu_password");

//selección de la base de datos con la que vamos a trabajar
mysql_select_db("mi_base_datos");

//Ejecutamos la sentencia SQL
$result=mysql_query("select * from clientes");
?>
<table align="center">
<tr>
<th>Nombre</th>
<th>Teléfono</th>
</tr>
<?
//Mostramos los registros
while ($row=mysql_fetch_array($result))
{
echo '<tr><td>'.$row["nombre"].'</td>';
echo '<td>'.$row["telefono"].'</td></tr>';
}
mysql_free_result($result)
?>
</table>

<div align="center">
<a href="insertar.html">Añadir un nuevo registro</a><br>
<a href="actualizar1.php">Actualizar un registro existente</a><br>
<a href="borrar1.php">Borrar un registro</a><br>
</div>

</BODY>
</HTML>

Ejecutar script

Los pasos a realizar son, en un principio, los vistos para la inserción de un registro: Conexión a la base y ejecución de la sentencia. Esta vez, la información de dicha ejecución será almacenada en una variable ($result).

El siguiente paso será plasmar en pantalla la información recogida en $result. Esto lo haremos mediante la función mysql_fetch_array que devuelve una variable array con los contenidos de un registro a la vez que se posiciona sobre el siguiente. El bucle while nos permite leer e imprimir secuencialmente cada uno de los registros.

La función mysql_free_result se encarga de liberar la memoria utilizada para llevar a cabo la consulta. Aunque no es necesaria su utilización, resulta altamente aconsejable.

Compartir en redes sociales

Comentarios
Fueron enviados 17 comentarios al artículo
11 comentarios no revisados
6 comentarios revisados:
Por: marko
11/5/2004
EL ARTICULO DE LA LECTURA DE LA TABLA ESTA MUY BIEN, PERO CUANDO INTENTO HACERLO EN MI MAUINA ME MARCA ERRORES EN LA SINTAXIS.


'; echo ' '.$row["DEFINICION"].
Por: ness
24/9/2004
en la pagina lectura.php me aparece un mensaje como este:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:wampwwwlectura.php on line 23

Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in c:wampwwwlectura.php on line 28

Y no aparece el nuevo registro, quisiera saber por que.
Por: Juan Perilla
08/4/2005
En la instruccion mysql_connect("localhost","tu_user","tu_password"); para que no salga error en tu_user debes poner root y en tu_password dejarlo en blanco...
Por: alberto leon (http://www.lineacentral.com)
14/12/2005
tengo una pregunta, en el escript muestra dotos los registros insertados, sa mi me gustaria saber como le puedo hacer para que me muestre un registro en especifico , no busco que tenga menus despegable, sino que en la pagina de lectura me muestre directamente el registro que pongo en el codigo fuente
Por: DaBuCoDoNoSoR
04/3/2006
eso solo si estas usando un mysql local y no has modificado ninguno de los valores por defecto, ya que si pones contraseña a "root" ya no te deja entrar con la contraseña en blanco, y tambien en muchos de los hostings gratuitos que hay te hacen tener o un nombre predeterminado o por ejemplo como es mi caso usuario_(nombrequedeseas) y pasa lo mismo con el usuario al asignarlo, por que no puedes asignar root ni usuario_root pero todos esto son detalles que hay que tener en cuenta cuando se hace una web
Por: jorge...
02/8/2007
Según está el ejemplo:
"while ($row=mysql_fetch_array($result))"
no va a funcionar ya que siempre se va a cumplir esta condición, ya que en lugar de COMPARAR estamos asignando el valor recogido por "mysql_fetch_array" a la variable "$row".

Por otro lado,... la gente está preguntando como hacer para que te recoja un sólo campo de la base de datos. A la hora de definir tu base de datos habrás creado en cada tabla un campo único (le suelen llamar "primary key") que es irrepetible (ej: DNI, Cód_Producto,etc...). Por lo tanto, lo único que deberías hacer para que te salga un único registro, el que tu quieras, es añadir una condición WHERE a tu sentencia SQL con el valor que quieras.

Select * from Clientes where id_cliente = 1;

Ivan Forcada Quezada ponía el siguiente comentario:
"Hola. Tengo mi tabla, y algunos registros, pero cada vez que se agrega un registro nuevo, este no aparece hasta arriba o hasta abajo de la tabla, sino que se mezcla entre la tabla. Hay alguna forma de hacer que muestre la tabla en orden?"

La verdad es que sí,... si lo quieres en orden cronológico, lo que tienes que hacer es añadir campos a tu tabla, puede ser uno sólamente (formato TIMESTAMP) o dos, uno con la fecha y otro con la hora. Entonces después a la hora de recogerlo, sólo tendrás que ordenarlos por fecha y por hora... --> order by fecha, hora

Iñaki puso:
"Pues basandome en este tutorial y en otros cree un sistema de noticias, queria que a la hora de mostrar se ordenasen por orden decreciente de id_noticia (un campo AUTO_INCREMENT que cree) se ordenarlo en orden creciente mediante select * from noticias Order By id_noticia Pero... ¿como ordenarlo a la inversa? Muchas gracias!"

Para ordenarlo a la inversa en el Order By sólo tienes que añadir DESC después del campo por el que quieras ordenar, ya que por regla general SQL ordena por Clave primaria y de forma Ascendente

DIANA:
lo que tienes que hacer es crear un enlace y que ese enlace te lleve a una nueva página en la que hagas un select * from TABLA y ahí ya tienes toda la información...

Manuales relacionados
Categorias relacionadas
El autor
Rubén Alvarez
Redactor de DesarrolloWeb.com
http://www.desarrolloweb.com
Lectura recomendada
Últimas noticias
Donaciones
Si piensas que te hemos ayudado y merecemos tu apoyo económico...