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