Hola luciana_uru:
En primer lugar, no es correcto que pongas código PHP ni de ningún otro lenguaje de programación en este foro. Este es exclusivo de MySQL y por políticas del foro no debemos contestar preguntas de programación. Existen los foros propios del lenguaje que estás utilizando.... te invito a que expongas ahí tu pregunta.
En cuanto a tu pregunta, te dejo un ejemplo que igual y te puede servir... supongamos que tenemos esta tabla;
Código MySQL:
Ver original+------+-------------+---------------------+
| id | descripcion | fecha |
+------+-------------+---------------------+
| 1 | uno | 2012-07-26 11:57:00 |
| 1 | one | 2012-07-26 09:58:23 |
| 1 | un | 2012-07-26 10:00:51 |
| 2 | dos | 2012-07-26 13:10:36 |
| 2 | two | 2012-07-26 07:30:29 |
| 2 | deux | 2012-07-26 11:16:47 |
| 3 | tres | 2012-07-26 08:29:21 |
| 3 | three | 2012-07-26 09:43:22 |
| 3 | trois | 2012-07-26 10:20:45 |
+------+-------------+---------------------+
Observa que hay tres registros por cada id, cada uno con una fecha distinta. Si quisiéramos obtener el último registro para cada id podríamos hacer esto:
Código MySQL:
Ver original+------+---------------------+
| id | max_fecha |
+------+---------------------+
| 1 | 2012-07-26 11:57:00 |
| 2 | 2012-07-26 13:10:36 |
| 3 | 2012-07-26 10:20:45 |
+------+---------------------+
Sin embargo, esto no nos dice la descripción (o cualquier otro campo adicional que tuviera la tabla). Sin embargo, podrías utilizarla como una subconsulta para filtrar tus datos, más o menos así:
Código MySQL:
Ver original -> ON T1.id
= T2.id
AND T1.fecha
= T2.max_fecha
; +------+-------------+---------------------+
| id | descripcion | fecha |
+------+-------------+---------------------+
| 1 | uno | 2012-07-26 11:57:00 |
| 2 | dos | 2012-07-26 13:10:36 |
| 3 | trois | 2012-07-26 10:20:45 |
+------+-------------+---------------------+
Dale un vistazo para ver si te sirve, sino como te comenté, te invito a que publiques tu pregunta en el foro de PHP para que los expertos en el tema te ayuden.
saludos
Leo.