Ciao di nuovo,
sto letteralmente impazzendo per questo problema, sarà che mi si addice al mio nickname :crying:
ora vi spiego la situazione. Ho creato una tabella dinamica, che tramite un codice javascript riesce a far aggiungere o rimuovere delle righe all'interno della medesima. Ogni riga corrisponde ad un prodotto che l'utente inserisce, una specie di workpaper. Ecco come si presenta la mia tabella:
Come potete vedere sono state aggiunte due righe, all'interno delle quali è possibile inserire un prodotto, fornitore, descrizione, quantità e il prezzo. Cliccando su salva, tutti questi dati devono essere inviati ad una tabella MySQL; qui nasce il problema. Io ho creato all'interno delle celle della tabella, dei campi input che catturano array, ecco:
Mettiamo il caso che la tabella sia così popolata:
Cliccando su salva dovrebbe arrivarmi nella tabella del DB in questo modo:
"Questi campi li ho inseriti io a mano". È il risultato che spero di ottenere.
Il codice però non lo fa, di seguito vi riporto il codice che ho creato per eseguire la registrazione nel DB. Come potete vedere in $row mi salvo i campi letti dalla tabella workpaper, poi andando avanti controllo se i dati sono stati inviati da quel form, ed in particolare se è stato premuto il tasto salva; a questo punto valorizzo alcune variabili, ed infine dovrebbero essere inserite nel DB. Tutto questo però non funziona, dapprima mi dice che nel ciclo foreach viene inserito un argomento non valido, poi fa capricci anche sulla variabile $row dandomi che l'index non è definito. A questo punto mi rivolgo a voi 0
sto letteralmente impazzendo per questo problema, sarà che mi si addice al mio nickname :crying:
ora vi spiego la situazione. Ho creato una tabella dinamica, che tramite un codice javascript riesce a far aggiungere o rimuovere delle righe all'interno della medesima. Ogni riga corrisponde ad un prodotto che l'utente inserisce, una specie di workpaper. Ecco come si presenta la mia tabella:
Come potete vedere sono state aggiunte due righe, all'interno delle quali è possibile inserire un prodotto, fornitore, descrizione, quantità e il prezzo. Cliccando su salva, tutti questi dati devono essere inviati ad una tabella MySQL; qui nasce il problema. Io ho creato all'interno delle celle della tabella, dei campi input che catturano array, ecco:
Codice:
input1.name = "prodotto[]";
input2.name = "fornitore[]";
input3.name = "descrizione[]";
input4.name = "quantita[]";
input5.name = "prezzo[]";
Mettiamo il caso che la tabella sia così popolata:
Cliccando su salva dovrebbe arrivarmi nella tabella del DB in questo modo:
"Questi campi li ho inseriti io a mano". È il risultato che spero di ottenere.
Il codice però non lo fa, di seguito vi riporto il codice che ho creato per eseguire la registrazione nel DB. Come potete vedere in $row mi salvo i campi letti dalla tabella workpaper, poi andando avanti controllo se i dati sono stati inviati da quel form, ed in particolare se è stato premuto il tasto salva; a questo punto valorizzo alcune variabili, ed infine dovrebbero essere inserite nel DB. Tutto questo però non funziona, dapprima mi dice che nel ciclo foreach viene inserito un argomento non valido, poi fa capricci anche sulla variabile $row dandomi che l'index non è definito. A questo punto mi rivolgo a voi 0
Codice:
public function esegui_registrazione()
{
$connection = mysql_connect('localhost', 'root', '');
mysql_select_db('bibliotecaarticoli');
$query = "SELECT * FROM workpaper";
$result = mysql_query($query) or die(mysql_error());
$row = mysql_fetch_array($result);
$con = new MySQLi(HOST, USER, PASSWORD, DATABASE);
if(isset($_POST['sending']))
{
if($_POST['sending'] == "Salva")
{
$row_data = array();
foreach($_POST['sending'] as $key => $value)
{
$prodotto=mysqli_real_escape_string($con,($_POST['prodotto'][$row]));
$fornitore=mysqli_real_escape_string($con,($_POST['fornitore'][$row]));
$descrizione=mysqli_real_escape_string($con,($_POST['descrizione'][$row]));
$quantita=mysqli_real_escape_string($con,($_POST['quantita'][$row]));
$prezzo=mysqli_real_escape_string($con,($_POST['prezzo'][$row]));
$dipendente=mysqli_real_escape_string($con,($_POST['dipendente'][$row]));
$row_data[] = "('$prodotto', '$fornitore', '$descrizione','$quantita', '$prezzo', '$dipendente')";
}
if (!empty($row_data))
{
$sql = 'INSERT INTO workpaper(prodotto,fornitore,descrizione,quantita,prezzo,dipendente) VALUES '.implode(',', $row_data);
$result = mysqli_query($con, $sql );
if ($result)
echo 'Inserimento completato: ' . mysqli_affected_rows($con);
else
echo 'La query ha fallito' ;
}
} // if ($_POST['sending'] == "Salva")
} // if (isset($_POST['sending']))
}//close method
}
Ultima modifica: