Codice PHP:
$order $_REQUEST['cmb_orderby'];   // cmb_orderby è ovviamente la select nella pagina precedente

switch($order) {
   case 
"t_st":
   case 
"n_st":
   case 
"l_st":
   case 
"m_s":
   case 
"a_s":
       
$orderby_clause "ORDER BY $order DESC";
       break;
   default:
       
$orderby_clause "ORDER BY tot DESC";
}


$lettura_risultati=mysql_query

("select id, nome_utente, t_st, n_st, n_st, l_st, m_s, a_s, t_rec, vt_st, vt_qu_cam, vt_ris, vt_pul, vt_eff_s, tst_rec, date_format(data_ora_ins, '%d/%m/%Y - ore %H:%i:%s') as data_formattata,

MATCH(n_st, t_st, n_st, l_st) AGAINST('"
$_POST['campo_query_nome'] ." "$_POST['campo_query_tipo'] ." "$_POST['campo_query_naz'] ." "$_POST['campo_query_luogo'] ."' IN BOOLEAN MODE) AS tot

from recensioni where MATCH(n_st, t_st, n_st, l_st) AGAINST('"
$_POST['campo_query_nome'] ." "$_POST['campo_query_tipo'] ." "$_POST['campo_query_naz'] ." "$_POST['campo_query_luogo'] ."' IN BOOLEAN MODE)

$orderby_clause"); // <--- abbiamo messo la order risultante qua..... 
credo che sia sufficiente.....

ovviamente i valori delle option della select devono avere 'value' ai valori che ho scritto nello switch.
NB: non è molto sicuro perchè tramite i valori delle option posso leggermi i nomi di attributi direttamente presenti nel database; quindi sarebbe meglio aggiungere un passaggio (tipo, se selezione ordinamento con valore 1 nella combo, PHP sa già che 1 equivale a "n_st")
Codice PHP:
$order $_REQUEST['cmb_orderby'];   // cmb_orderby è ovviamente la select nella pagina precedente

$order_attrib = array("t_st""n_st""l_st""m_s""a_s");

switch(
$order) {
    case 
1:
    case 
2:
    case 
3:
    case 
4:
    case 
5:
        
$orderby_clause " ORDER BY $order_attrib[$order] DESC ";
    default:
        
$orderby_clause " ORDER BY tot DESC";

e quindi la select sarà tipo:
codice:
<select name="cmb_orderby" ..... etc, etc...>
  <option value="1">t_st</option>
  <option value="2">n_st</option>
  <option value="3">l_st</option>
  ....
  ...
</select>
caput?