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?