Necesitas enviar arrays para poder poder recibir los valores como valores múltiples, luego hacer un loop que se repita dependiendo de los records en ese array. Me imagino que usas los campos ocultos para enviar los valores. Necesitas cambiarlos de, por ejemplo:
Código PHP:
Ver original<input type="hidden" name="codigo" id="codigo" value="<?php echo $campo1 ?>" />
a
Código PHP:
Ver original<input type="hidden" name="codigo[]" id="codigo" value="<?php echo $campo1 ?>" />
Luego, al tope de la página donde tienes el recordset recibes las variables si han sido enviadas. Necesitas un formulario y un botón para enviar las variables. Puedes usar el botón o el formulario (o cualquiera de los campos para verificar cuando ha sido enviada). Aquí yo uso el mismo código que usas. Vas a necesitar el campo que crea DW (MM_insert) con el valor de "form1" que por alguna razón lo borraste. :
Código PHP:
Ver originalif ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
foreach($_POST["codigo"] as $key => $value){
$insertSQL = sprintf("INSERT INTO icalifica (codigo, gcodigo, icodigo,varible2 ,califica, valor1, observacion) VALUES (%s, %s, %s, %s, %s, %s, %s)", GetSQLValueString($_POST['codigo'][$key], "text"),
GetSQLValueString($_POST['gcodigo'][$key], "int"),
GetSQLValueString($_POST['icodigo'][$key], "text"),
GetSQLValueString($_POST['variable2'][$key], "text"),
GetSQLValueString($_POST['califica'][$key], "int"),
GetSQLValueString($_POST['valor'][$key], "int"),
GetSQLValueString($_POST['observacion'][$key], "text"));
*
*
$insertGoTo = "pagina_de_confirmacion.php";
if (isset($_SERVER['QUERY_STRING'])) { $insertGoTo .= (strpos($insertGoTo, '?')) ?
"&" : "?"; $insertGoTo .= $_SERVER['QUERY_STRING'];
}
}
}
Como ves le añadí el loop:
Código PHP:
Ver originalforeach($_POST["codigo"] as $key => $value){
//codigo
}
y a las variables les agregué "[$key]" para que sepan cuales elementos de array den insertar en la base de datos.
Me dejas saber si tienes algún problema.