Foros del Web » Programando para Internet » PHP »

Lectura de registros

Estas en el tema de Lectura de registros en el foro de PHP en Foros del Web. Siguiendo un manual he realizado esta página que me permite capturar los datos de una tabla para mostrarlos. --------------------------------------------------------- <? //Conexion con la base mysql_connect("localhost","usuario","contraseña"); ...
  #1 (permalink)  
Antiguo 21/03/2005, 17:01
 
Fecha de Ingreso: febrero-2005
Mensajes: 33
Antigüedad: 19 años, 2 meses
Puntos: 0
Lectura de registros

Siguiendo un manual he realizado esta página que me permite capturar los datos de una tabla para mostrarlos.

---------------------------------------------------------
<?
//Conexion con la base
mysql_connect("localhost","usuario","contraseña");

//Ejecutamos la sentencia SQL
$result=mysql_db_query("basededatos","select * from tabla");
?>
<?
//Mostramos los registros
while ($row=mysql_fetch_array($result))
{
echo '<table cellSpacing=0 cellPadding=2 width="100%" border=0"><tr><td>Cuerpo:</td><td>'.$row["CUERPO"].'</td></tr>';
echo <tr><td>Situaci&oacute;n:</td><td>'.$row["SITUACION"].'</td></tr>';
echo '<tr><td>Denominaci&oacute;n del<br> puesto de trabajo:</td><td>'.$row["DENOMINACIONPUESTO"].'</td></tr>';
echo '<tr><td>Provincia de destino:</td><td>'.$row["PROVINCIADESTINO"].'</td></tr>';
echo '<tr><td>Centro/Localidad destino:</td><td>'.$row["CENTRODESTINO"].'</td></tr>';
echo '<tr><td>Cambia por:</td><td>'.$row["CAMBIAPOR"].'</td></tr>';
echo '<tr><td>Localidad o zona a la<br> que deseas permutar:</td><td>'.$row["ESPECIFICACIONES"].'</td></tr>';
echo '<tr><td>Nombre y Apellidos:</td><td>'.$row["NOMBRE"].'</td></tr>';
echo '<tr><td>Tel&eacute;fonos:</td><td>'.$row["TELEFONO"].'</td></tr>';
echo '<tr><td>Correo-e:</td><td>'.$row["EMAIL"].'</td></tr>';
echo '<tr><td>Fecha del anuncio:</td><td>'.$row["FECHA"].'</td></tr></table><hr width="50%">';
}
mysql_free_result($result)
?>

-------------------------------------------------------------

Quisiera aprender a hacer dos cosas:

1.- La tabla de origen contiene un campo autonúmerico y quisiera que la página mostrase los registro en orden inverso a la fecha de introducción, los últimos los primeros.

2.- Que la página mostrase un número determinado de registros, p.e. 10 y llegado a este número poder pasar a otra página con un enlace llamado p.e. "página siguiente".

Agradecería que alguien me indicase algún sitio dónde consultar esto, así de paso aprendo un poco más.

Muchas gracias.
__________________
"Inteligencia militar son términos contradictorios" (G. Marx).
  #2 (permalink)  
Antiguo 21/03/2005, 19:50
 
Fecha de Ingreso: diciembre-2004
Mensajes: 128
Antigüedad: 19 años, 4 meses
Puntos: 1
1- Para ordenar:
$result=mysql_db_query("basededatos","select * from tabla ORDER BY fecha ASC");
fecha es la fecha de introduccion. Puedes ordenar ASC o DESC.
2- Para mostrar los registros anda al buscador y busca Paginator, es un script que hace lo que andas buscando.
  #3 (permalink)  
Antiguo 21/03/2005, 19:57
 
Fecha de Ingreso: diciembre-2003
Ubicación: Córdoba, Argentina
Mensajes: 249
Antigüedad: 20 años, 4 meses
Puntos: 0
Disculpame, no sé si está permitido en el sitio, pero quizás necesites darle un vistazo a un tutorial que realicé:

http://www.pcway.com.ar/articulos.php?id=6 (Introducción rápida a PHP+MySQL)

Un saludo.
__________________
Crónicas de un Programador es un sitio que registra lo que ocurre cada día en la vida de un desarrollador. Aquí, intentaremos contar nuestras experiencias diarias, errores, aciertos y técnicas, que pueden llegar a serles de utilidad.
  #4 (permalink)  
Antiguo 22/03/2005, 03:39
 
Fecha de Ingreso: febrero-2005
Mensajes: 33
Antigüedad: 19 años, 2 meses
Puntos: 0
Cita:
Iniciado por matigro
1- Para ordenar:
$result=mysql_db_query("basededatos","select * from tabla ORDER BY fecha ASC");
fecha es la fecha de introduccion. Puedes ordenar ASC o DESC.
2- Para mostrar los registros anda al buscador y busca Paginator, es un script que hace lo que andas buscando.
¿"fecha" es el campo de mi tabla donde tengo DATE?

Gracias.
__________________
"Inteligencia militar son términos contradictorios" (G. Marx).
  #5 (permalink)  
Antiguo 22/03/2005, 04:00
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Es dificil saber lo que tienes en tu BD ... solo podemos ver que existe un campo 'FECHA' (¿mayusculas?) ... pero fecha hace referencia a un campo; puedes cambiarlo por el nombre del campo por el cual quieras ordenar.

Suerte!

Charcab: ... es un foro para aprender... y mientras sea para eso no esta prohibido.
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #6 (permalink)  
Antiguo 22/03/2005, 04:44
 
Fecha de Ingreso: febrero-2005
Mensajes: 33
Antigüedad: 19 años, 2 meses
Puntos: 0
Vale, ha funcionado, aunque al final lo he ordenada por un autonúmerico.

Lo del paginator, para mi nivel en esto, lo dejaré para un día más inspirado.

Muchas gracias.
__________________
"Inteligencia militar son términos contradictorios" (G. Marx).
  #7 (permalink)  
Antiguo 22/03/2005, 05:27
 
Fecha de Ingreso: febrero-2005
Mensajes: 33
Antigüedad: 19 años, 2 meses
Puntos: 0
Por cierto, al ejecutar el script que ha quedado así:
$result=mysql_db_query("basededatos","select * from tabla order by ID desc");

la página se queda colgada y al acceder al control de MySQL me dice que no puede acceder por "too many connections".

El servicio de atención al cliente dice que debe haber demasiados registros (sólo hay tres de momento) o que haya un buble autoalimentado que provoque el problema.

Ni idea :(

Saludos.
__________________
"Inteligencia militar son términos contradictorios" (G. Marx).
  #8 (permalink)  
Antiguo 22/03/2005, 06:59
 
Fecha de Ingreso: febrero-2005
Mensajes: 33
Antigüedad: 19 años, 2 meses
Puntos: 0

------------------------------------------------------------------
<?
//Conexion con la base
mysql_connect("localhost","usuario","contraseña");

//Ejecutamos la sentencia SQL
$result=mysql_db_query("basededatos","select * from tabla order by ID desc");

//Mostramos los registros
while ($row=mysql_fetch_array($result))
{
echo '<table cellSpacing=0 cellPadding=2 width="100%" border=0"><tr><td>Cuerpo:</td><td>'.$row["CUERPO"].'</td></tr>';
echo <tr><td>Situaci&oacute;n:</td><td>'.$row["SITUACION"].'</td></tr>';
echo '<tr><td>Denominaci&oacute;n del<br> puesto de trabajo:</td><td>'.$row["DENOMINACIONPUESTO"].'</td></tr>';
echo '<tr><td>Provincia de destino:</td><td>'.$row["PROVINCIADESTINO"].'</td></tr>';
echo '<tr><td>Centro/Localidad destino:</td><td>'.$row["CENTRODESTINO"].'</td></tr>';
echo '<tr><td>Cambia por:</td><td>'.$row["CAMBIAPOR"].'</td></tr>';
echo '<tr><td>Localidad o zona a la<br> que deseas permutar:</td><td>'.$row["ESPECIFICACIONES"].'</td></tr>';
echo '<tr><td>Nombre y Apellidos:</td><td>'.$row["NOMBRE"].'</td></tr>';
echo '<tr><td>Tel&eacute;fonos:</td><td>'.$row["TELEFONO"].'</td></tr>';
echo '<tr><td>Correo-e:</td><td>'.$row["EMAIL"].'</td></tr>';
echo '<tr><td>Fecha del anuncio:</td><td>'.$row["FECHA"].'</td></tr></table><hr width="50%">';
}
mysql_free_result($result)
?>
-------------------------------------------------------------


Me dicen en el servidor que este script tiene un error de programación que provoca un "bucle autoalimentado" que cuelga la base de datos y la página en definitiva.

Sólo me ha ocurrido al añadirle "order by ID desc", donde ID es un campo autonumérico.
__________________
"Inteligencia militar son términos contradictorios" (G. Marx).
  #9 (permalink)  
Antiguo 31/03/2005, 14:41
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 7 meses
Puntos: 41
Tienes que controlar un poco los errores que puedas estar cometiendo:
Lo más sencillo:
Código PHP:
<?
//Conexion con la base
$conexion mysql_connect("localhost","usuario","contraseña") or die("Error en conexión::".mysql_error());
mysql_select_db("basededatos") or die("Error seleccionando DB::".mysql_error());

// Definimos la sentencia SQL:
$sql "select * from tabla order by ID desc";
//Ejecutamos la sentencia SQL
$result mysql_query($sql) or die("Error en la consulta <b>$sql</b>:: ".mysql_error());

//Mostramos los registros
while ($row=mysql_fetch_array($result))
{
echo 
'.........';
}
mysql_free_result($result)
?>
Y sobre lo de utilizar Paginator, no te preocupes, que justamente ha sido pensado para su fácil utilización (simplemente ves a tener que cambiar una línea de tu código). Si tienes problemas con eso, pregunta aquí mismo.
Saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:43.