Salve a tutti.
Con l'aiuto di vari tutorial sono riuscito a creare un form che invia dati ad una pagina php la quale esegue una query insert into alla tabella del database nella quale quindi ad ogni invio dati viene inserito un record.
Supponendo di avere diverse tabelle tutte uguali nella loro struttura ma ognuna è dedicata ad un soggetto, ad es ho 10 macchine in piazzale e ho una tabella per ogni macchina dove registro gli interventi di manutenzione e i ricambi sostituiti; ogni tabella come nome tabella ha la targa della macchina cui si riferisce.
A sto punto creo un form e lo chiamo registro-intervento.
Questo form quindi funge da maschera per scrivere i dati al database.
Fin ora sono riuscito a far funzionare il tutto, ma solo se specifico nella query in nome esatto della tabella. Cosi facendo però dovrei avere un form diverso e una pagina php diversa per ogni tabella su cui devo scrivere.
Quindi il punto è:
nel form posso inserire come primo campo (di tipo select) la lista delle targhe, e passare in un qualche modo alla pagina php il valore scelto che vada a differenziare quindi in quale tabelle deve essere scritto il record?
Io ci ho provato alla stessa stregua con la quale vengono scritti i valori nei vari campi della tabella del db e sostituendo nella query il nome della tabella con la variabile che in teoria dovrebbe contenere il valore della targa scelta nel form che corrisponde al nome della tabella.
Ma non funziona :-( . All'invio dei dati ottengo la pagina bianca senza nesssun errore ma il record nn risulta essere scritto…
Se invece della variabile, metto nella query il nome della tabella vero e proprio lo script funziona la pagina risponde “invio effettuato con successo” e il record viene scritto.
Il punto è che con un unico form vorrei poter differenziare quale tabella deve essere popolata e poi creaere un form per estrapolare i dati ma questo è un passaggio che risolverò dopo aver risolto questo.
Seguono i due blocchi di codice il primo funziona il secondo è pressoche identico ma non funziona…. cosa sbaglio o cosa manca?
Grazie a tutti per gli eventuali suggerimenti.
//questo script funziona
<?php
....//blocco connessione al database
//creazione variabili che ricevono i dati dai campi del form.
$data_intervento = $_POST["data_intervento"];
$Km = $_POST["Km"];
$rimorchio = $_POST["rimorchio"];
$luogo = $_POST["luogo"];
$ricambi = $_POST["ricambi"];
$descrizione = $_POST["descrizione"];
$insert_sql = "INSERT INTO XX-000-XX (
DATA_INTERVENTO,
KM,
RIMORCHIO,
LUOGO,
RICAMBI,
DESCRIZIONE)
VALUES(
'$data_intervento',
'$Km',
'$rimorchio',
'$luogo',
'$ricambi',
'$descrizione');";
.....
?>
//questo non funziona
<?php
....//blocco connessione al database
//creazione variabili che ricevono i dati dai campi del form.
$targa = $_POST["seleziona_targa"] //questo dovrebbe creare la variabile col nome della tabella in cui scrivere il record
$data_intervento = $_POST["data_intervento"]; //seguono le variabili che portano i valori provenienti dal form per la scrittura del record
$Km = $_POST["Km"];
$rimorchio = $_POST["rimorchio"];
$luogo = $_POST["luogo"];
$ricambi = $_POST["ricambi"];
$descrizione = $_POST["descrizione"];
$insert_sql = "INSERT INTO $targa ( //query con la variabile che dovrebbe contenere la targa scelta nella select del form
DATA_INTERVENTO,
KM,
RIMORCHIO,
LUOGO,
RICAMBI,
DESCRIZIONE)
VALUES(
'$data_intervento',
'$Km',
'$rimorchio',
'$luogo',
'$ricambi',
'$descrizione');";
....
?>