nello script ti connetti + volte al db... ma nn serve!!!
venendo poi al punto specifico fai sde volta $result il secondo del quale manca della query...
mysql_fetch_array ha un parametro sbagliato...
Codice PHP:
$result mysql_query("select * from tipo_spese order by descrizione_tipi_spese");//1 query
$result =  mysql_query($sql);// 2 query             
echo"<td><select name='Tipo Spesa'>";
while(
$row mysql_fetch_array($row)) // $row???! ... $result!!
{
if(
$tipo_spese==$row['id_tipo_spese'])
{
echo 
"<option value=\"{$row['id_tipo_spese']}\" $selected>{$row['descrizione_tipi_spese']}</option></td>";
}
echo 
"<option value=\"$row['id_tipo_spese']\">$row['descrizione_tipi_spese']</option>";
}
echo 
"</select><tr>";
?> 
prova a correggere così:
Codice PHP:
$result mysql_query("select * from tipo_spese order by descrizione_tipi_spese");              
echo
"<td><select name='Tipo Spesa'>"
while(
$row mysql_fetch_array($result)) 
    { 
    
$selected '';
    if(
$tipo_spese==$row['id_tipo_spese']) 
        { 
        
$selected ' selected'
        } 
    echo 
'<option value="'.$row['id_tipo_spese'].'"'.$selected.'>'.$row['descrizione_tipi_spese'].'</option>'
    } 
echo 
"</select><tr>"