Foros del Web » Programando para Internet » PHP »

Insertar múltiples registros con ciclo FOR

Estas en el tema de Insertar múltiples registros con ciclo FOR en el foro de PHP en Foros del Web. Hola amigos, estoy tratando de insertar múltiples registros a mi base de datos con el ciclo for. Lo que debo hacer es lo siguiente: Pido ...
  #1 (permalink)  
Antiguo 14/09/2014, 20:40
 
Fecha de Ingreso: septiembre-2013
Ubicación: Bogota
Mensajes: 139
Antigüedad: 10 años, 7 meses
Puntos: 0
Insertar múltiples registros con ciclo FOR

Hola amigos, estoy tratando de insertar múltiples registros a mi base de datos con el ciclo for. Lo que debo hacer es lo siguiente:
Pido al usuario que seleccione un numero de un campo select y que pulse el botón "Generar", al hacer esto, se imprimen la cantidad de campos en filas que seleccione del senect, es decir si seleccionó el numero 7 entonces saldrán siete filas con campos para diligenciar. hasta ahí bien, el problema esta en que ahora quiero que se inserten los siete registros al pulsar una vez el botón "Guardar", pero siempre me esta guardando cuatro filas o registros a la vez así el usuario seleccione 1 0 2 0 9 filas, si alguien me puede colaborar por favor le agradecería mucho, es para un trabajo de la universidad. Dejo el código y un pantallazo acerca de lo que estoy tratando de hacer para ser mas claro. Gracias.

Código HTML:
Ver original
  1. <hrml>
  2. <input type='text' name='cod_admin[]' value='$cod_admin'>
  3. <input type='text' name='cod_tema[]' value='$row->cod_tema'>
  4. Seleccione la cantidad de items que desea generar para el tema:                    
  5. <select name="num">
  6.     <option value=" ">Seleccione...</option>
  7.     <option value="1">1</option>
  8.     <option value="2">2</option>
  9.     <option value="3">3</option>
  10.     <option value="4">4</option>
  11.     <option value="5">5</option>
  12.     <option value="6">6</option>
  13.     <option value="7">7</option>
  14.     <option value="8">8</option>
  15.     <option value="9">9</option>
  16.     <option value="10">10</option>
  17.     <option value="11">11</option>
  18.     <option value="12">12</option>
  19.     </select>
  20. <input class="submit" type="submit" name="consultar" value="Generar">
  21.  
  22. <?  
  23.  if ($_POST["consultar"]){
  24.    $may=0;
  25. for ($i = 1; $i <= $num; $i++) {
  26.    echo "<center><table><tr><td>Item $i numero_item<input type='text' name='numero_item[]' value='$i'></td><td><input type='text' name='item[]'></td></tr></table></center>";
  27. }
  28. echo "<br><br><center><input class='submit' type='submit' name='enviar' value='Guardar'></center>";
  29.   }
  30. ?>
  31. </body></html>
Código PHP:
<?
include ("../conex.php");
  if(
$_POST["enviar"])
    {
      
      
$mvalor=array();
      
$mvalor['cod_tema']=$_POST['cod_tema'];
      
$mvalor['numero_item']=$_POST['numero_item'];
      
$mvalor['item']=$_POST['item'];
      
$mvalor['cod_admin']=$_POST['cod_admin'];
      
   for(
$i=0$i<count($mvalor); $i++){      
   
$sql="insert into crear_cuest(cod_tema,numero_item,item,cod_admin)values 
   ('"
.$_POST["cod_tema"][$i]."','".$_POST["numero_item"][$i]."','".$_POST["item"][$i]."','".$_POST["cod_admin"][$i]."')";     
    if (
$result=mysql_query ($sql,$link)){
          echo 
'<script language= "Javascript">
          alert("Registro Insertado");
          </script>'
;
       }
    }
}
?>
  #2 (permalink)  
Antiguo 14/09/2014, 20:43
 
Fecha de Ingreso: septiembre-2013
Ubicación: Bogota
Mensajes: 139
Antigüedad: 10 años, 7 meses
Puntos: 0
Respuesta: Insertar múltiples registros con ciclo FOR

Imagen de la aplicación:

http://subefotos.com/ver/?910f88d5d8...21f5f5d6co.png
  #3 (permalink)  
Antiguo 15/09/2014, 00:44
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Insertar múltiples registros con ciclo FOR

Se guardan solo cuatro registros porque el array $mvalor tiene cuatro índices: cod_tema, numero_item, item y cod_admin. Lo que necesitas guardar es el contenido de cada índice, por lo que debes de tomar a uno de ellos para calcular el total a recorrer, aunque veo innecesario el crear un array cuando tanto $_POST['cod_tema'] como los demás arrays llegados por el método POST, son arrays. Al final, en el bucle tomas sus valores sin necesidad de acceder a variables como $mvalor['cod_tema'] o similares.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Etiquetas: html, registro, registros, select, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:59.