Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/10/2007, 02:37
amokiller
 
Fecha de Ingreso: septiembre-2006
Mensajes: 64
Antigüedad: 17 años, 7 meses
Puntos: 2
Como invertir los resutados de una consulta?

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 :)