Foros del Web » Programando para Internet » PHP »

Como mostrar ultimo registro de una tabla

Estas en el tema de Como mostrar ultimo registro de una tabla en el foro de PHP en Foros del Web. Hola a todos, estoy creando una web, la cual requiere que en un lado aparezca la ultima inserccion que se ha hecho en una tabla ...
  #1 (permalink)  
Antiguo 31/01/2011, 17:28
 
Fecha de Ingreso: abril-2006
Mensajes: 105
Antigüedad: 18 años
Puntos: 11
Como mostrar ultimo registro de una tabla

Hola a todos, estoy creando una web, la cual requiere que en un lado aparezca la ultima inserccion que se ha hecho en una tabla específica de la base de datos.

Para eso armé este código:

Código PHP:
<? 
$connect
=mysql_connect("LOCALHOST","USUARIO","CLAVE");
mysql_select_db("BASE DE DATOS",$connect);
$result=mysql_query("select MAX(id_evento) from eventos where id_evento",$connect);  
while(
$row=mysql_fetch_array($result))  



echo 
'<img src="./varios/'.$row[tema].'.jpg"  alt="Latest Raid" width="105" height="131" /></div><br/>
                    <h4>&nbsp;&nbsp;'
.$row[titulo].'</h4>
                    <p class="NewsPost" >
                        <span class="Block">&nbsp; -'
.$row[dia].'</span><br/>
                        <span class="Block">&nbsp; -Requisitos:</span><br/>
                        <span class="Block">&nbsp; -'
.$row[requisitos].'</span>
                    </p>'
;  

}  

?>
La tabla es "eventos".
La celda llave es "id_evento", la cual es auto_increment.
Y los valores que quiero que se muestren son:

tema, titulo, dia y requisitos

¿Alguien puede ayudarme a corregir este código?

Un saludo y gracias
  #2 (permalink)  
Antiguo 31/01/2011, 17:33
 
Fecha de Ingreso: enero-2011
Ubicación: 127.0.0.1
Mensajes: 53
Antigüedad: 13 años, 3 meses
Puntos: 3
Respuesta: Como mostrar ultimo registro de una tabla

Hola

El código se ve bien, solo te falta agregar los campos tema, titulo, dia y requisitos en tu query, ya que solo estas mostrando el max(id_evento) y por eso no te muestra los demas campos que necesitas
  #3 (permalink)  
Antiguo 31/01/2011, 17:39
 
Fecha de Ingreso: abril-2006
Mensajes: 105
Antigüedad: 18 años
Puntos: 11
Respuesta: Como mostrar ultimo registro de una tabla

Código PHP:
<?  
$connect
=mysql_connect("LOCALHOST","USUARIO","CLAVE"); 
mysql_select_db("BASE DE DATOS",$connect); 
$result=mysql_query("select MAX(id_evento), tema, titulo, dia, requisitos from eventos where id_evento",$connect); 
while(
$row=mysql_fetch_array($result))   

{  

echo 
'<img src="./varios/'.$row[tema].'.jpg"  alt="Latest Raid" width="105" height="131" /></div><br/> 
                    <h4>&nbsp;&nbsp;'
.$row[titulo].'</h4> 
                    <p class="NewsPost" > 
                        <span class="Block">&nbsp; -'
.$row[dia].'</span><br/> 
                        <span class="Block">&nbsp; -Requisitos:</span><br/> 
                        <span class="Block">&nbsp; -'
.$row[requisitos].'</span> 
                    </p>'
;   

}   

?>
Vale, muchas gracias yoncharli, mira que era simple la solución, pero a veces uno se obceca tanto y le da tantas vueltas que necesita una opinión de fuera más fresca para ver el error.

De nuevo, gracias yoncharli.

Un saludo
  #4 (permalink)  
Antiguo 31/01/2011, 17:42
 
Fecha de Ingreso: enero-2011
Ubicación: 127.0.0.1
Mensajes: 53
Antigüedad: 13 años, 3 meses
Puntos: 3
Respuesta: Como mostrar ultimo registro de una tabla

Por nada malekith, que bien que hayas resuelto el problema y si a veces a mi también me pasa lo mismo jejeje
  #5 (permalink)  
Antiguo 31/01/2011, 17:51
 
Fecha de Ingreso: abril-2006
Mensajes: 105
Antigüedad: 18 años
Puntos: 11
Respuesta: Como mostrar ultimo registro de una tabla

Otra cosa, aunque esta supongo que tendrá una solución más fácil, el código "MAX(id_evento)" no funciona como esperaba... me muestra la entrada más vieja de la tabla, no la más nueva, he probado a cambiar el MAX por MIN, por si suena la campana, pero nada, ¿Por qué será?
  #6 (permalink)  
Antiguo 31/01/2011, 18:44
 
Fecha de Ingreso: abril-2006
Mensajes: 105
Antigüedad: 18 años
Puntos: 11
Respuesta: Como mostrar ultimo registro de una tabla

Código PHP:
<?   
$connect
=mysql_connect("LOCALHOST","USUARIO","CLAVE");  
mysql_select_db("BASE DE DATOS",$connect);  
$result=mysql_query("select tema, titulo, dia, requisitos from eventos ORDER BY id_evento DESC LIMIT 1",$connect);  
while(
$row=mysql_fetch_array($result))    

{   

echo 
'<img src="./varios/'.$row[tema].'.jpg"  alt="Latest Raid" width="105" height="131" /></div><br/>  
                    <h4>&nbsp;&nbsp;'
.$row[titulo].'</h4>  
                    <p class="NewsPost" >  
                        <span class="Block">&nbsp; -'
.$row[dia].'</span><br/>  
                        <span class="Block">&nbsp; -Requisitos:</span><br/>  
                        <span class="Block">&nbsp; -'
.$row[requisitos].'</span>  
                    </p>'
;    

}    

?>
Tras trastear bastante, he dado con la solución.

El MAX no me ha resultado ser tan útil como pensaba, o no lo estaba utilizando bien.

Al grano, he puesto que simplemente vaya en orden descendente y puse un límite de 1, y ahí el código hace exactamente lo que quiero.

Si a alguien le sirve aparte de a mí, mejor que mejor.

Un saludo
  #7 (permalink)  
Antiguo 31/01/2011, 18:46
Avatar de xalupeao  
Fecha de Ingreso: mayo-2008
Ubicación: Santiago, Chile
Mensajes: 749
Antigüedad: 15 años, 11 meses
Puntos: 12
Respuesta: Como mostrar ultimo registro de una tabla

agrega un campo fecha como datetime en tu base de datos. Y cuando guardes los registros tambien guarda la fecha y simplemente tendrias que hacer esto.

Código MySQL:
Ver original
  1. SELECT * FROM tabla ORDER BY fecha DESC LIMIT 1



creo que es simple y efectivo.
__________________
Hosting en Chile en Silverhost - La solución en Hosting en Chile.
  #8 (permalink)  
Antiguo 31/01/2011, 19:08
 
Fecha de Ingreso: abril-2006
Mensajes: 105
Antigüedad: 18 años
Puntos: 11
Respuesta: Como mostrar ultimo registro de una tabla

Cita:
agrega un campo fecha como datetime en tu base de datos. Y cuando guardes los registros tambien guarda la fecha y simplemente tendrias que hacer esto.

Código MySQL: Ver originalCopiarSELECT * FROM tabla ORDER BY fecha DESC LIMIT 1
Hola xalupeao, gracias por tu respuesta.

Efectivamente, todas mis tablas tienen campo de id autoincrement y el datetime, en este caso se llama como tu lo has puesto, fecha.

El código que has puesto vale tanto para el id como para la fecha.

A mi ya me está funcionando, pero es bueno saber ésto para quienes no usen autoincrement y necesiten hacer ésto mismo.

Un saludo

Etiquetas: registro, ultimo, tablas
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 04:10.