Cita:
Iniciado por GatorV Puedes usar uasort() este te permite definir una función propia para ordenar.
Saludos.
Esa no la conocia, era perfectamente lo que necesitaba. Muchas gracias!
Cita:
Iniciado por patriciomase ah ya entendí ... lo que tenes que hacer es dividir la consulta en 2 y las unis con union me explico?
primero te traes los que sean pendiente, y le das union todo lo demas, asi te quedan los pendientes primero
Código SQL:
Ver originalSELECT * FROM tabla ..........
INNER JOIN .....
WHERE estadousuario LIKE 'pendiente'
ORDER BY ....
UNION
SELECT * FROM tabla ..........
INNER JOIN .....
WHERE estadousuario NOT LIKE 'pendiente'
ORDER BY ....
ahi tenes primero todos los pendientes, luego los otros
Esto también es muy interesante, no se me hubiese ocurrido.
Cita:
Iniciado por topo_bionico Si no queres usar funciones no puedo obligarte.
No se como definís y cargas el array, así que hice uno imaginario. Trate de hacerlo simple.
Obviamente no tenes que usar los echo y print_r, solamente los puse para mostrar la salida, te aviso para que no te enojes pensando que no es como vos lo querias.
Algo así te sirve?
Código PHP:
<?php
$a1=array('NOMBRE'=>"DARIO HOYOS",'EMAIL'=>'[email protected]','D_ESTADOUSUARIO'=>'Pendiente', 'N_SOLICITUD'=>'50');
$a2=array('NOMBRE'=>"JUAN CHOCLITO",'EMAIL'=>'[email protected]','D_ESTADOUSUARIO'=>'Aprobado','N_SOLICITUD'=>'68');
$a3=array('NOMBRE'=>"OSCAR PEREZ",'EMAIL'=>'[email protected]','D_ESTADOUSUARIO'=>'Rechazado','N_SOLICITUD'=>'34');
$a4=array('NOMBRE'=>"SERGIO DENIS",'EMAIL'=>'[email protected]','D_ESTADOUSUARIO'=>'Pendiente', 'N_SOLICITUD'=>'70');
$ordenar=array($a1,$a2,$a3,$a4);
$ordenado=array();//Array vacio para cargar los valores ordenados
foreach($ordenar as $row){ //Recorro el array
if ($row['D_ESTADOUSUARIO']=='Pendiente'){
array_unshift($ordenado,$row); //Si esta pendiente lo inserto al principio
}else{
array_push($ordenado,$row); //Sino, lo mando al final
}
print_r($row);
echo '<br/>';
}
echo '------';
echo '<br/>';
foreach($ordenado as $row){ //Muestro el array ordenado
print_r($row);
echo '<br/>';
}
?>
Realmente se noto la dedicación puesta en esta ultima.
Es la primera vez que me dan una respuesta tan amplia en el foro, 3 alternativas, 1 algorítmica, una desde sql, y otra desde el standard de PHP. Realmente impecables, espero que sirvan en un futuro a alguien mas.