Salve a tutti.
Ho una tabella con 3 record. Tramite php li recupero e vorrei fare in modo che quando faccio una modifica su uno di essi, ci sia un altro php che mi gestisce il salvataggio.
Se uso questo codice:
codice:
<?php
$db = new SQLite3("/var/databases/CronoTermo/DBCronoTermo");
$results = $db->query('SELECT * FROM DS18B20');
echo "<table border=\"1\">";
while ($row = $results->fetchArray()) {
echo "<form action=\"prova.php\" id=\"SalvaModifiche\" method=\"POST\">";
echo "<tr>";
echo "<td><select name=\"comm\" id=\"comm\" onchange=\"this.form.submit()\">";
echo "</option>";
echo "<option>ON</option>";
echo "<option>OFF</option>";
echo "</select></td>";
echo "<td><input name=\"ID_mod\" value=\"$row[ID]\"></td>";
echo "</form>";
echo "</tr>";
}
echo "</table>";
?>
tutto funziona correttamente: ogni volta che faccio una modifica al campo "comm", passo i dati a prova.php e da li gestisco il salvataggio.
Al posto del "this.form.submit", vorrei far partire il codice contenuto in una funzione che dovrebbe fare lo stesso mestiere del "this.form.submit" e allora ho così modificato il codice:
codice:
<script>
function SalvaRecord(){
document.forms["SalvaModifiche"].submit();
}
</script>
<?php
$db = new SQLite3("/var/databases/CronoTermo/DBCronoTermo");
$results = $db->query('SELECT * FROM DS18B20');
echo "<table border=\"1\">";
while ($row = $results->fetchArray()) {
echo "<form action=\"prova.php\" id=\"SalvaModifiche\" method=\"POST\">";
echo "<tr>";
echo "<td><select name=\"comm\" id=\"comm\" onchange=\"SalvaRecord()\">";
echo "</option>";
echo "<option>ON</option>";
echo "<option>OFF</option>";
echo "</select></td>";
echo "<td><input name=\"ID_mod\" value=\"$row[ID]\"></td>";
echo "</form>";
echo "</tr>";
}
echo "</table>";
?>
Il problema è che se effettuo una modifica (una select) sul secondo o terzo record della tabella, a prova.php vengono comunque passati i dati relativi al primo record.
C'è la maniera di sostituire il "this.form.submit" con l'esecuzione di una funzione?
Grazie