Basta cambiare OREDER BY alla query... o ho capito male?
Se hai
select * from tabella order by Cognome desc
la puoi tenere "modificabile" tramite una variabile che passi dopo il click sull'ordinamento
select * from tabella order by $ordinamento desc