PHP - Los ultimos 5 registros de una tabla

 
Vista:

Los ultimos 5 registros de una tabla

Publicado por DEVILSITO (140 intervenciones) el 24/10/2013 03:10:47
La siguiente consulta me da cualquier cosa menos los ultimos 5 registros, que es lo que necesito.

SELECT * FROM resumen where codpry_c='4327' order by fchvis_d asc limit 5

En la tabla la fecha se muestra por ejemplo 2013-10-22, vale decir el formato es AAAA-MM-DD

¿cual es el error en que estoy incurriendo?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Los ultimos 5 registros de una tabla

Publicado por Mari Carmen (145 intervenciones) el 24/10/2013 12:14:46
Cuando haces esto
SELECT * FROM resumen WHERE codpry_c='4327' ORDER BY fchvis_d ASC LIMIT 5
Lo que haces es coger los primeros 5 registros que concuerdan.
Si hicieses esto
SELECT * FROM resumen WHERE codpry_c='4327' ORDER BY fchvis_d DESC LIMIT 5
Estarías cogiendo los 5 últimos elementos pero en orden descendente, es decir en orden inverso, pero serian los últimos. No es difícil sabiendo esto hacer los bucles para recoger los datos al revés.

También puedes hacer esto:
SELECT * FROM (
SELECT * FROM resumen WHERE codpry_c='4327' ORDER BY fchvis_d DESC LIMIT 5
) AS t
ORDER BY t.`fchvis_d` ASC

Este ultimo nunca lo he probado pero tiene buena pinta.Fuente:http://stackoverflow.com/questions/573646/mysql-select-from-n-last-rows
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Los ultimos 5 registros de una tabla

Publicado por Elier (92 intervenciones) el 25/10/2013 15:12:37
Lo que puedes hacer es obtener la cantidad de records que tienes en la tabla y a ese valor restarle 5

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
$dbc = mysqli_connect("host", "user", "password", "db")
 
$sql = "SELECT COUNT(*) FROM resumen";
 
$result = mysqli_query($dbc,$sql);
 
$row = mysqli_fetch_row($result);
 
$start_from = $row[0] - 5;
 
//Ahora puedes obtener 5 records a partir de $start_from
 
$sql= "SELECT * FROM resumen LIMIT $start_from, 5";
 
if ($result = mysqli_query ($dbc,$sql)) {
 
    while ($row = mysqli_fetch_assoc($result)) {
        printf ("%s (%s)\n", $row["FieldName1"], $row["FieldName2"]);
    }
 
    mysqli_free_result($result);
}
?>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar