Ver Mensaje Individual
  #6 (permalink)  
Antiguo 02/01/2007, 14:07
Avatar de nicolaspar
nicolaspar
 
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 19 años, 5 meses
Puntos: 34
Re: como orednar consultas

Es, como dice pintix, sql.
Lo que hace es un case para asignar, al alias orden puesto en el select, valores lógicos para poder ordenarlos. Luego ordena por el alias. Por ejemplo, si tenemos en la db esto:

codigo, nombre
FO | uno
IT | dos
MC | tres
PR | cuatro
FO | cinco
FO | seis
PR | siete

Lo que sacara la consulta esta será:
Código PHP:
$sql "
Select
    codigo,
    nombre,
    (CASE codigo 
        WHEN 'MC' THEN 1
            WHEN 'PR' THEN 2 
            WHEN 'IT' THEN 3
            WHEN 'FO' THEN 4
    ELSE 0 END) orden
from
    tabla
order by 
    orden, nombre
"
;  
$r mysql_query($sql);
while( 
$rs mysql_fetch_row$r ) ){
echo 
$rs[2].'|'.$rs[1].'|'.$rs[0];
}
/* Salida
1 | tres |  MC
2 | cuatro | PR
2 | siete | PR
3 |dos | IT
4 | cinco | FO
4 | seis | FO
4 |siete | FO
4 |uno | FO
*/ 
No se si se comprende lo que estoy tratando de hacer, trato nuevamente diciendo: Como los valores pr,mc,it,fo no tiene un patrón para el orden que desea obtener, lo que hago es mediante este case en el query, asignarle un valor a cada uno según el orden que quiera. Espero que se comprenda, sino vuelvo a tratar :P
__________________
Mi punto de partida es Que Bueno Lo Nuevo