mm no se si entiendo lo que necesitas pero a ver si me acerco.
Quizas para mantener el order by lo que podrias hacer es en tu consulta esto:
Código PHP:
$sql="select * from XX order by ".$orden;
y el orden lo pasas por get en el action del form.
Si no es esto podrias explicar mejor el problema.
Saludos