Foros del Web » Programando para Internet » PHP »

Extraer solo los 3 ultimos registros agregados.

Estas en el tema de Extraer solo los 3 ultimos registros agregados. en el foro de PHP en Foros del Web. Hola amigos tengo en una tabla guardado unos comentarios que tiene los sigs. campos: NUM - USUARIO - COMENTARIO - AVATAR y lo que quiero ...
  #1 (permalink)  
Antiguo 26/06/2011, 10:17
Avatar de ZoroRoronoa  
Fecha de Ingreso: marzo-2011
Ubicación: California, USA
Mensajes: 824
Antigüedad: 13 años
Puntos: 116
Extraer solo los 3 ultimos registros agregados.

Hola amigos tengo en una tabla guardado unos comentarios que tiene los sigs. campos:

NUM - USUARIO - COMENTARIO - AVATAR

y lo que quiero lograr es mediante un bucle extraer los 3 ultimos comentarios agregados, para no tener la necesidad de postear 3 veces el mismo codigo, haciendo consultas diferentes.

1) Como lo hago?
2) tengo ideas previas de como lograrlo, pero seria usando como orden la fecha.
3) me tiene intrigado el bucle, pues no logro hacer funcionar el bucle solo con los 3 ultimos registros.

Espero sus respuestas y disculpem las repetidas veces que posteo aqui por ayuda
__________________
Programador jQuery & PHP
  #2 (permalink)  
Antiguo 26/06/2011, 10:20
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
Respuesta: Extraer solo los 3 ultimos registros agregados.

Pues personalmente creo que si deberias añadirle un campo de fecha y en la consulta hacerle un ORDER BY, con las 3 ultimas fechas....
  #3 (permalink)  
Antiguo 26/06/2011, 10:26
 
Fecha de Ingreso: noviembre-2007
Ubicación: Etzatlan, Jalisco
Mensajes: 50
Antigüedad: 16 años, 4 meses
Puntos: 18
Respuesta: Extraer solo los 3 ultimos registros agregados.

¿El campo NUM, que es lo que guarda exactamente?

Si lo que guarda es el numero de comentario (el cual no se puede repetir) puedes hacer lo siguiente

Código:
SELECT * FROM database ORDER BY NUM DESC LIMIT 3
  #4 (permalink)  
Antiguo 26/06/2011, 10:26
Avatar de ZoroRoronoa  
Fecha de Ingreso: marzo-2011
Ubicación: California, USA
Mensajes: 824
Antigüedad: 13 años
Puntos: 116
Respuesta: Extraer solo los 3 ultimos registros agregados.

Ok, ojala me pudieras orientar con un script de ejemplo.

Le agrego la fecha y los ordeno, pero como logro extraer y hacer el bucle solo con los 3 ultimos registros y no con todos.

Ya que con el bucle (while) me hace el bucle y me extraer TODOS los comentarios.

He intentado con FOR, con una condicion de $num>=3; y dentro del bucle le voy sumando a $num++, pero no me da, O me arroja error, O me extrae todo.


__________________________________________


Cita:
Iniciado por anarkes Ver Mensaje
¿El campo NUM, que es lo que guarda exactamente?

Si lo que guarda es el numero de comentario (el cual no se puede repetir) puedes hacer lo siguiente

Código:
SELECT * FROM database ORDER BY NUM DESC LIMIT 3
Me ganaste, creo que la respuestas esta en eso, DESC (que supongo es orden descendente) y un limite de solo 3 registros.
Ok, lo intentaré y ojala me salga ahora si.

Y si no seria mucha molestia, me pudieras dar un ejemplo en codigo, haciendo el bucle con solo estos 3.

Gracias amigo.

**P.D: el NUM, ciertamente, es un numero como si fuese el ID, se autoincrementa y no se repite
__________________
Programador jQuery & PHP
  #5 (permalink)  
Antiguo 26/06/2011, 10:38
 
Fecha de Ingreso: noviembre-2007
Ubicación: Etzatlan, Jalisco
Mensajes: 50
Antigüedad: 16 años, 4 meses
Puntos: 18
Respuesta: Extraer solo los 3 ultimos registros agregados.

Bueno, ya que el campo NUM no se repite, eso lo hace facil. Como bien dijiste el DESC significa en orden descendente. Al agregar un limite (LIMIT 3) solo tomara los ultimos tres registros.

Esto seria el ejemplo amigo.
Código PHP:
<?php

    $sql 
"SELECT * FROM database ORDER BY NUM DESC LIMIT 3";
    
$query mysql_query($sql);
    while(
$comentario mysql_fetch_assoc($sql)){
        echo 
$comentario['NUM']."<br />";
    }

?>
  #6 (permalink)  
Antiguo 26/06/2011, 10:40
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
Respuesta: Extraer solo los 3 ultimos registros agregados.

Supongo que son los ultimos tres comentarios de un usuario especifico...

Ejemplo:
Código PHP:
Ver original
  1. <?php
  2. $sql="SELECT * FROM tu_tabla WHERE USUARIO='id_usuario' ORDER BY  NUM DESC LIMIT 3";
  3. $consulta = mysql_query ($sql);
  4.  
  5. while ($resultados = mysql_fetch_array($consulta))
  6. {
  7.  
  8. $usuario=$resultados['USUARIO'];
  9. $comentario=$resultados['COMENTARIO'];
  10.  
  11. echo $usuario;
  12. echo "</br>";
  13. echo $comentario;
  14.  
  15.  
  16.  
  17. }
  18. ?>

Etiquetas: registros, ultimo
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 12:32.