Certo,
la query è ordinata con un bell'ORDER by Data, ma non riesco ad applicare il tuo codice...

ecco la mia struttura della tabella:

Codice PHP:
  $sql  ".....................ORDER BY Data";
      
$rs mysql_query($sql$cid);
    if (
mysql_error()) { print "Database Error: $sql " mysql_error(); }
          
// Preparo la tabella per accogliere i dati
              
echo  "<table width=\"100%\" cellspacing=\"4\" cellpadding=\"2\" bordercolordark=\"#FFFFFF\" class=\"piccolo\">"
 
while (
$valori mysql_fetch_array ($rs)){ 

$a1 $valori "date_format(Data, '%d-%m-%Y')"]; 
$a2 $valori "Descrizione"]; 
$a3 $valori "Codice"]; 
$a4 $valori "cliente_nome"]; 
$a5 $valori "controparte_nome"];

$a4 substr($a4015); 
$a5 substr($a5015); 
print 
'<tr class="'.($i%2==0?'even':'odd').'"><td width=\"10%\" align=\"left\"><font class=medio>$a1</font></td>
  <td width=\"10%\" align=\"left\"><font class=medio>[b]$a3[/b]</font></td>
  <td width=\"20%\" align=\"left\"><font class=medio>[b]$a4[/b]</font></td>
  <td width=\"20%\" align=\"left\"><font class=medio>[b]$a5[/b]</font></td>
  <td width=\"40%\" align=\"left\"><font class=medio>$a2</font></td></tr>'
;

}
echo  
"</table>";
mysql_free_result ($rs
or die ( 
"Non riesco a liberare le risorse"); 
mysql_close (); 
Grazie comunque.