Originariamente inviato da andr3a
sul discorso query per ogni valore avrei più di un dubbio, per il resto invece ti conviene farne uno solo

$coppie = array();

// loop risultato query
$coppie[$id] = $valore;
// fine loop

a questo punto hai la funzione ksort che ordinerà in base all'id

ksort($coppie);
reset($coppie);

resetti il puntatore e poi prendi i valori con un while(list($id,) = each($coppie)){} o con un più semplice foreach($coppie as $id => $value){}

credo sia quello che cercavi ma rivaluta la query per ogni valore che se l'array ha più di pochi elementi diventa pesante per il server
non credo che così funzioni, io devo ordinare in base a $valore ma produrre un array che contenga gli $id.