per esempio che nella query non estrai l'id che poi provi a scrivere? E poi, invece di mischiare apici singoli, doppi etc etc, perché non scrivi pulito? Se non vuoi perdere traccia:
Codice PHP:
<select ...>
<?php
$query 
"SELECT id,codice,descrizione FROM tipoprestazione WHERE av=0";
$result mysql_query($query);
while(
$riga mysql_fetch_array($result)) {?>
  <option value="<?php echo($riga['id']);?>"><?php echo($riga['codice']." ".$riga['descrizione']);?></option>
<?php                                  
}
?>
</select>
E poi sistema un po' quella input text finale... che 'codice' dovrebbe mettere, visto che sta fuori dal while?