Vorrei inserire diversi record da uno stesso form (con un click). Ho fatto e funziona. Il problema è che nell'esempio che posto c'è la possibilità di inserire 3 record e sempre si inseriscono 3 records. Vorrei invece eventualmente inserire solo 2, ad esempio quando l'ultimo set dei campi rimane vuoto. In pratica, si dovrebbe inserire solo il numero dei record compilati, ignorando quelli lasciati in bianco nel form.
Ecco il form HTML
Qui il codice PHP dell'Insert nel MySQLcodice:<form action="prova.php" method="post"> <p><b>1</b><br /> Nome <input name="name[]" type="text" id="name[]">Texto <input name="texto[]" type="text" id="texto[]"></p> <p><b>2</b><br />Nome <input name="name[]" type="text" id="name[]">Texto <input name="texto[]" type="text" id="texto[]"></p> <p><b>3</b><br />Nome <input name="name[]" type="text" id="name[]">Texto <input name="texto[]" type="text" id="texto[]"></p> <p><input type="submit" name="Submit" id="Submit" value="Submit" /></p></form>
codice:if (isset($_POST['Submit'])) { //se submit inviato $con = mysql_connect("HOST","USER","PASSWORD"); if (!$con) { die('No ho potuto connetermi: ' . mysql_error()); } mysql_select_db("claretianum_db1", $con); foreach($_POST['name'] as $row=>$Name) { $name=mysql_real_escape_string($Name); $texto=mysql_real_escape_string($_POST['texto'][$row]); $sql="INSERT INTO prova(nome, texto)VALUES('$name', '$texto')" or die(mysql_error()); $result = mysql_query($sql, $con) or die(mysql_error()); } // if successfully updated. if($result){ echo "$row record inseriti.<br/>"; } else { echo "ERROR"; } } //fine controllo se submit inviato

Rispondi quotando
