<?php
//dati di connessione
if(isset($_POST['Submit'])){
/*non ti metto tutti i controlli che
sarebbero utili sui vari $_POST, soprattutto se lo script
dovesse essere usato da terzi
*/
$tipo_spesa=$_POST['Submit'];//qui ricevi es. 12|poste e telegrafi
//avendo inviato il dato in quel modo lo divido in due
$ex=explode("|",$tipo_spesa);
//es. in $ex[0] trovi 12 e in $ex[0] trovi poste e telegrafi
//e le trasformo in variabili semplice in modo da far meno fatica a scrivere poi la query
$id_tr=ex[0];
$tipo=ex[1];
$data=$_POST['data'];// devi assicurarti che sia nel formato aaaa-mm-gg
$spesa=$_POST['spesa'];//qui devi verificare che sia nella forma 000.00 col punto e non con la virgola decimale
//e finalmente la query di inserimento cioe un dato numerico di tipo float
$query="INSERT INTO spese(id_ts, data, tipo, costo) VALUES('$id_ts','$data','$tipo','$spesa')";
//qui mentre fai le prove puoi mettere un var_dump($query); in modo da vedere se è giusta
if(mysql_query($query)){
echo "$data tipo: $tipo di $spesa € è stata registrata";
}else{
echo "c'è stato un errore";
}
}
?>
<form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']) ;?>" method="post">
seleziona tipo di spesa <select name="tipo">
<?php
$query=mysql_query("SELECT * FROM tipo_spesa ORDER BY tipo");
while($riga=mysql_fetch_array($query)){
//basterebbe tramettere l'id_ts , ma per comodità in seguito trasmetto anche la voce tipo
$val=$riga['id_ts']."|".$riga['tipo'];
echo "<option value=\"$val\">".$riga['tipo']."</option>";
}
?>
</select><br>
inserisci data e qui ti conviene un datapiker per essere sicuro di immettere aaaa-mm-gg <br>
inserisci costo <input name="spesa" type="text" value="0,00"> €<br>
<!-- potresti fare due piccoli campi di input uno per gli interi l'alro per i decimali che poi riunisci
nella parte php -->
<input type="submit" name="Submit" value="Invia">
</form>