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:
tutto funziona correttamente: ogni volta che faccio una modifica al campo "comm", passo i dati a prova.php e da li gestisco il salvataggio.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>"; ?>
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:
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.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>"; ?>
C'è la maniera di sostituire il "this.form.submit" con l'esecuzione di una funzione?
Grazie

Rispondi quotando