Ver Mensaje Individual
  #4 (permalink)  
Antiguo 10/04/2010, 08:27
Avatar de juaniquillo
juaniquillo
Colaborador
 
Fecha de Ingreso: noviembre-2005
Ubicación: San Juan, Puerto Rico
Mensajes: 5.745
Antigüedad: 18 años, 5 meses
Puntos: 281
Respuesta: insertar registro d un form a mysql luego d ejecutar el comportamiento rep

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
  1. <input type="hidden" name="codigo" id="codigo" value="<?php echo $campo1 ?>" />

a

Código PHP:
Ver original
  1. <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 original
  1. if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
  2.    
  3.     foreach($_POST["codigo"] as $key => $value){
  4.    
  5.         $insertSQL = sprintf("INSERT INTO icalifica (codigo, gcodigo, icodigo,varible2 ,califica, valor1, observacion) VALUES (%s, %s, %s, %s, %s, %s, %s)",
  6.                     GetSQLValueString($_POST['codigo'][$key], "text"),
  7.                     GetSQLValueString($_POST['gcodigo'][$key], "int"),
  8.                     GetSQLValueString($_POST['icodigo'][$key], "text"),
  9.                     GetSQLValueString($_POST['variable2'][$key], "text"),
  10.                     GetSQLValueString($_POST['califica'][$key], "int"),
  11.                     GetSQLValueString($_POST['valor'][$key], "int"),
  12.                     GetSQLValueString($_POST['observacion'][$key], "text"));
  13.         *
  14.         mysql_select_db($database_datos, $datos);
  15.         $Result1 = mysql_query($insertSQL, $datos) or die(mysql_error());
  16.         *
  17.         $insertGoTo = "pagina_de_confirmacion.php";
  18.         if (isset($_SERVER['QUERY_STRING'])) {
  19.             $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
  20.             $insertGoTo .= $_SERVER['QUERY_STRING'];
  21.         }
  22.         header(sprintf("Location: %s", $insertGoTo));
  23.     }
  24. }


Como ves le añadí el loop:

Código PHP:
Ver original
  1. foreach($_POST["codigo"] as $key => $value){
  2.  
  3.   //codigo
  4.  
  5. }

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.
__________________
Por fin.. tengo algo parecido a un blog
Y por lo visto ya estoy escribiendo...