Hola a todos.
Estoy realizando un prueba para una futura web. Tengo que mostrar los resultados de una consulta con limite (3), el problema es que deben ser mostrados en orden inverso.
Ejemplo:
Código PHP:
//consulta
$sql = "SELECT id,nombre FROM lista LIMIT 10,3";
$rs = mysql_query($sql,$db);
while($row = mysql_fetch_assoc($rs))
{
echo $row["id"];
echo " - ";
echo $row["nombre"];
echo "<br>";
}
Con esto me muestra:
11 - pepe
12 - juan
13 - manolo
Continua paginando de 3 en 3.
El problema es el orden lo que necesito es que me muestre:
13 - manolo
12 - juan
11 - pepe
y despues los 3 siguientes. 16 - xxxx;15 - xxxxx; 14 - xxxxx
pero si en la consulta uso ORDER BY id DESC me devuelve los ultimos ids. Es decir 99 - Juan, 98- oioas; etc...
De momento lo he arrglado así:
Código PHP:
//consulta
$sql = "SELECT id,nombre FROM lista LIMIT 10,3";
$rs = mysql_query($sql,$db);
$arr = array();
while($row = mysql_fetch_assoc($rs))
{
$arr[$row["id"]] = $row["nombre"];
}
$arr = array_reverse($arr);
foreach($arr as $key => $value)
{
echo "$key - $value";
}
Pero me gustaría saber si se puede hacer algo más
"comodo". Ya que el codigo final va ser con una consulta bastante mas compleja y que devuelve muchos campos no solo id y nombre.
Un saludo y gracias.
PD: el codigo es aproximado y de ejemplo. Ta escrito a pelo sin revisar ni nada, que estoy en el curro :)