Quasi sicuramente sbagli con i nomi degli input. Io farei così:
Nuovo item:codice:function datazone(){ ... $sql = .. ... while($row = ...) { ... <select name="update[<?php echo $row['iddata'] ?>]['data_gen']" id="data_gen"> <option>...</option> ... </select> <select name="update[<?php echo $row['iddata'] ?>]['data_spec']" id="data_spec"> <option>...</option> ... </select> ... } }
Salvataggio:codice:... var currentItem = 0; $('#addnew').click(function(){ currentItem++; var row = '<tr><td><select id=... name=\'insert[' +currentItem + '][data_gen]\' ><option> .... '; $('#data').append(row); }
PS: Non ho capito come mai i dati tipo data_gen, li prendi da una join ma poi li salvi sulla tabellacodice:... foreach($_POST['update'] as $id => $values){ $sql = 'UPDATE datazione set data_ge = :data_gen, .... WHERE iddat = :iddata '; ... $stmt->bindParam(':iddata', $id, PDO::PARAM_INT); $stmt->bindParam(':data_gen', $values['data_gen'], PDO::PARAM_INT); ... } foreach($_POST['insert'] as $values){ $sql = 'INSERT INTO datazione(id, ...) VALUES (:data_gen, .... )'; ... $stmt->bindParam(':data_gen', $values['data_gen'], PDO::PARAM_INT); ... }

Rispondi quotando