Foros del Web » Programando para Internet » PHP »

Como incluir el id_personal en el bucle para insetar en varias filas con otros valore

Estas en el tema de Como incluir el id_personal en el bucle para insetar en varias filas con otros valore en el foro de PHP en Foros del Web. Les agradezco la ayuda, estoy adaptando el siguiente script para insertar en varias filas según los menú lista seleccionados; la idea es realizar la carga ...
  #1 (permalink)  
Antiguo 29/06/2012, 20:52
Avatar de yebert  
Fecha de Ingreso: marzo-2012
Ubicación: Mérida
Mensajes: 46
Antigüedad: 12 años, 1 mes
Puntos: 3
Pregunta Como incluir el id_personal en el bucle para insetar en varias filas con otros valore

Les agradezco la ayuda, estoy adaptando el siguiente script para insertar en varias filas según los menú lista seleccionados; la idea es realizar la carga de horarios para docentes de un colegio que se deben registrar varias veces durante el día. (Es para un sistema de control de asistencias de los docentes).

Entonces mi confusión esta en como insertar la cédula del docente que se genera de una consulta; la misma cantidad de veces que se inserten las horas de cada días.
Y tampoco he podido insertar mas de un campo es decir:

Días Bloque1 Bloque2
día(lunes) hora_desde hora_hasta hora_desde hora_hasta
día(miércoles) hora_desde hora_hasta hora_desde hora_hasta.........
.........................

Código HTML:
Ver original
  1. <form name="form1" method="POST" action="#">
  2.   <table width="734" border="0" align="center" cellpadding="0" cellspacing="0" class="boot">
  3.     <tr>
  4.       <td width="734"><table width="846" height="257" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#CCD8E6">
  5.         <tr>
  6.           <td width="846" bgcolor="#063569"><div align="center"><span class="Estilo11">Carga de Horarios Docentes </span></div></td>
  7.           </tr> <tr><td height="215"><table width="846" border="0" align="center" cellpadding="1" cellspacing="2" bordercolor="#6B7683" bgcolor="#CCD8E6" class="boot"> <tr><th width="840" height="74" colspan="3" bgcolor="#CCD8E6" scope="col"><table width="839" height="76" border="0" align="left" cellpadding="1" cellspacing="1" bgcolor="#CCD8E6"><tr> <td width="84" height="21" bgcolor="#CCD8E6"><div align="right"><span class="Estilo10">C&eacute;dula</span>:</div></td> <td width="89" bgcolor="#CCD8E6"><div align="left"> <input name="cedula[]" type="text" id="cedula[]" value="12345678" size="12"maxlength="8"  readonly="" /></div></td><td colspan="2" bgcolor="#CCD8E6"><div align="right"><span class="Estilo10">Docente</span>:</div></td> <td colspan="3" bgcolor="#CCD8E6"><div align="left"><input name="persona" type="text" id="persona" value="Pedro perez"size="50"  readonly="" /></div></td>
  8.                     <td width="154" rowspan="3" bgcolor="#CCD8E6"><table width="65" height="66" border="1" cellpadding="0" cellspacing="0"><tr>
  9.                         <td width="70" bgcolor="#ECE9D8"><div align="center" class="Estilo13">Foto</div></td> </tr></table></td></tr><tr>
  10.                     <td height="21" bgcolor="#CCD8E6"><div align="right"><span class="Estilo2">Total de Horas:</span></div></td>
  11.                     <td bgcolor="#CCD8E6"><div align="left">
  12.                         <input name="horas" type="text" id="horas" size="6"maxlength="5"  readonly="" /> </div></td>
  13.                     <td height="21" colspan="2" bgcolor="#CCD8E6"><div align="right"><span class="Estilo2"> Horas Disponibles:</span></div></td>
  14.                     <td height="21" colspan="3" bgcolor="#CCD8E6"><div align="left">
  15.                         <input name="h_disp" type="text" id="h_disp" size="6"maxlength="5"  readonly="" /></div></td></tr><tr>
  16.                     <td height="24" bgcolor="#CCD8E6"><div align="right"><span class="Estilo10"><span class="Letras_form">              
  17.                     </span>Grado</span>:</div></td>
  18.                     <td colspan="2" bgcolor="#CCD8E6"><div align="left">
  19.                         <select name="grado[]" id="grado[]">
  20.                           <option selected="selected">&lt;-Elija-&gt;</option>
  21.                           <option value="1">7mo.</option>
  22.                         </select>
  23.                     </div></td>
  24.                     <td width="102" bgcolor="#CCD8E6"><div align="left">
  25.                       <div align="right"><span class="Estilo10">Secci&oacute;n</span>:</div>
  26.                     </div></td>
  27.                     <td width="96"><div align="left">
  28.                       <select name="seccion[]" id="seccion[]">
  29.                         <option selected="selected">&lt;-Elija-&gt;</option>
  30.                         <option value="1">A</option>
  31.                       </select>
  32.                     </div></td>
  33.                     <td width="48"><div align="right"><span class="Estilo10">Aula</span>:</div></td>
  34.                     <td width="242" bgcolor="#CCD8E6"><div align="left">
  35.                       <select name="aula[]" id="aula[]">
  36.                         <option value="- - - -" selected="selected"></option>
  37.                         <option value="1">A1</option>
  38.                       </select>
  39.                     </div></td></tr>
  40.                 </table></th>
  41.                 </tr>
  42.               <tr> <td colspan="3"><table width="840" border="0" align="center" cellpadding="0" cellspacing="0"> <tr><td width="840" bordercolor="#6B7683" class="boot"><div align="center">  <table width="840" border="0" align="center" cellpadding="4" cellspacing="3" bordercolor="#0000FF"><tr>
  43.                           <td rowspan="2" bgcolor="#063569"><div align="center" class="Estilo1"><div align="center"><span class="Estilo10">Dias</span></div>
  44. </div></td><td colspan="2" bgcolor="#063569"><div align="center" class="Estilo1"> <div align="center"><span class="Estilo10">Bloque 1 </span></div> </div></td><td colspan="2" bgcolor="#063569"><div align="center" class="Estilo1"><div align="center"><span class="Estilo10">Bloque 2 </span></div> </div></td></tr><tr><td bgcolor="#063569"><div align="center" class="Estilo1"> <div align="center"><span class="Estilo10">Desde</span></div></div></td> <td bgcolor="#063569"><div align="center" class="Estilo1">
  45.   <div align="center"><span class="Estilo10">Hasta</span></div> </div></td>
  46.                           <td bgcolor="#063569"><div align="center" class="Estilo1">
  47.                             <div align="center"><span class="Estilo10">Desde</span></div></div></td> <td bgcolor="#063569"><div align="center" class="Estilo1">
  48.                             <div align="center"><span class="Estilo10">Hasta</span></div> </div></td> </tr> <tr><td width="135" bgcolor="#ECE9D8"><div align="center"><select name="dia[<?php echo $i; ?>]" id="dia[<?php echo $i; ?>]">  <option value="- - - -" selected="selected"></option>
  49.                                   <option value="1">Lunes</option>
  50.                                   <option value="2">Martes</option>
  51.                                   <option value="3">Miercoles</option>
  52.                                   <option value="4">Jueves</option>
  53.                                   <option value="5">Viernes</option>
  54.                                 </select>
  55.                               </div></td>
  56.                           <td width="165" bgcolor="#ECE9D8">
  57.                            
  58.                               <div align="center">
  59.                                 <select name="ini1[]1" id="ini1[]1">
  60.                                   <option value="- - - -" selected="selected"></option>
  61.                                   <option value="7:00:00">7:00am</option>
  62.                                   <option value="7:40:00">7:40am</option>                    
  63.                                 </select>
  64.                               </div></td>
  65.                           <td width="159" bgcolor="#ECE9D8">
  66.                            
  67.                               <div align="center">
  68.                                 <select name="fin1[]1" id="fin1[]1">
  69.                                   <option value="- - - -" selected="selected"></option>
  70.                                   <option value="7:40:00">7:40am</option>
  71.                                   <option value="8:20:00">8:20am</option>
  72.                                 </select>
  73.                               </div></td>
  74.                           <td width="165" bgcolor="#ECE9D8">&nbsp;</td>
  75.                           <td width="158" bgcolor="#ECE9D8">&nbsp;</td>  </tr>
  76.                       </table></div></td> </tr></table></td>  </tr>
  77.           </table></td></tr>     <tr>
  78.           <td bgcolor="#063569">&nbsp;</td> </tr> <tr>
  79.           <td bgcolor="#063569"><div align="center">
  80.             <input name="Submit2" type="reset" class="boot" value="Restablecer" />
  81.             <input name="Submit" type="submit" class="boot" value="Enviar" />
  82.           </div></td> </tr>  </table></td></tr> </table>
  83. </form>
  84.      <?php
  85. @$cedula=$_POST['cedula'];
  86. @$grado=$_POST['grado'];
  87. @$seccion=$_POST['seccion'];
  88. @$aula=$_POST['aula'];
  89. @$dia=$_POST['dia'];//recojo el array de cedula
  90. @$ini1=$_POST['ini1'];
  91. @$fin1=$_POST['fin1'];
  92. @$ini2=$_POST['ini2'];
  93. @$fin2=$_POST['fin2'];
  94. if (isset($cedula) && !empty($cedula) && isset($grado) && !empty($grado) && isset($dia) && !empty($dia)){
  95. $diario=array_combine($dia,$ini1);//combino los arrays de cedula,grado,aula,dia,ini1,fin1,ini2, y fin2 en uno, en el que la cedula es ced, grado es grad, aula es salon, dia es dias, ini1 es inic1, fin1 es final1,ini2 es inic2 y fin2 es final2.
  96. $link = mysql_connect ('localhost', 'root', '');
  97.     if (!$link){
  98.         echo 'error al conectar';
  99.         die;
  100.     }
  101.     $bd = mysql_select_db('saap');
  102.     if (!$bd){
  103.         echo 'error al seleccionar la base d datos';
  104.         die;
  105.     }
  106. $sql="INSERT INTO horario (dia,h_inic1) VALUES ";//primera parte de la cadena  ,h_fin1,h_inic2,h_fin2
  107. foreach($diario as $dia => $ini1) { //recorro el array
  108.   if (!empty($dia) || !empty($ini1)) {$sql.=sprintf("('%s','%s'),", trim($dia), trim($ini1));}//compruebo que al menos uno de los dos, nombre o apellido exista, y los pongo en la cadena de inserción
  109.  }
  110.  $sql=rtrim($sql,',');//elimino la última coma sobrante
  111.  echo $sql;
  112.  $res=mysql_query($sql);}
  113.  else {echo 'Seleccione Dia y Horas para enviar';}
  114.  ?>
  115. </body>
  116. </html>
__________________
Yebert
  #2 (permalink)  
Antiguo 30/06/2012, 05:48
 
Fecha de Ingreso: agosto-2011
Ubicación: Santo Domingo
Mensajes: 487
Antigüedad: 12 años, 8 meses
Puntos: 31
Respuesta: Como incluir el id_personal en el bucle para insetar en varias filas con o

Quisiera ayudarte pero no comprendo muy bien tus confusiones, explicame sobre lo que dices de la cedula y luego, que campo es que quiere añadir
__________________
El talento se educa en la KARMA y el carácter en la tempestad.
Gabriel De Los Santos
  #3 (permalink)  
Antiguo 30/06/2012, 17:26
Avatar de yebert  
Fecha de Ingreso: marzo-2012
Ubicación: Mérida
Mensajes: 46
Antigüedad: 12 años, 1 mes
Puntos: 3
Respuesta: Como incluir el id_personal en el bucle para insetar en varias filas con o

Gracias por responder gldelossantos; mi confusion esta en que quiero registrar en varias filas al mismo tiempo en la base datos-->> ESTE SERIA UN MODELO DEL FORMULARIO la CEDULA se genera de una consulta a la tabla docentes, GRADO es un listamenu, SECCION es un listamenu, AULA es un listamenu y los demas (dia-hora_desde1-hora_hasta1_desde2-hora_hasta2) son listamenu ubicados en cuatro filas de la tabla del formulario......a continuacion trat de explicar un poco como esta extructurado el formulario....

__________________________________________________ _______________
CEDULA=(campotext)_GRADO=(listamenu)_SECCION=(list amenu)_AULA=(listamenu)
__________________________________________________ ______________
dia-hora_desde1-hora_hasta1----hora_desde2-hora_hasta2_\\-->son(listamenu)
dia-hora_desde1-hora_hasta1----hora_desde2-hora_hasta2_\\-->son(listamenu)
dia-hora_desde1-hora_hasta1----hora_desde2-hora_hasta2_\\-->son(listamenu)
dia-hora_desde1-hora_hasta1----hora_desde2-hora_hasta2_\\-->son(listamenu)
__________________________________________________ ______________

La idea es llenar la tabla en base datos todo al mismo tiempo al hacer clic en ENVIAR de la siguiente manera (el id es autoincrement)-->
__________________________________________________ _______
FILA_1=> id-cedula-grado-seccion-aula-dia-hora_desde1-hora_hasta1--hora_desde2-hora_hasta2
FILA_2=> id-cedula-grado-seccion-aula-dia-hora_desde1-hora_hasta1----hora_desde2-hora_hasta2
FILA_3=> id-cedula-grado-seccion-aula-dia-hora_desde1-hora_hasta1----hora_desde2-hora_hasta2

-----------------------> y asi sucesivamente segùn los listamenu q seleccione de la fila del formulario..
En conclusion que al seleccionar por ejemplo todo el horario se registre tanto como el horario la cedula,grado y seccion todo al enviar.
Agradezco la ayudita..
__________________
Yebert
  #4 (permalink)  
Antiguo 01/07/2012, 06:38
Avatar de yebert  
Fecha de Ingreso: marzo-2012
Ubicación: Mérida
Mensajes: 46
Antigüedad: 12 años, 1 mes
Puntos: 3
Respuesta: Como incluir el id_personal en el bucle para insetar en varias filas con o

Acá les dejo el modelo del formulario que quiero registrar en la tabla de BD

http://liceo.x10.mx/pruebas/horario1.php
__________________
Yebert
  #5 (permalink)  
Antiguo 01/07/2012, 13:43
Avatar de yebert  
Fecha de Ingreso: marzo-2012
Ubicación: Mérida
Mensajes: 46
Antigüedad: 12 años, 1 mes
Puntos: 3
Respuesta: Como incluir el id_personal en el bucle para insetar en varias filas con o

Hasta el momento he logrado insertar solamente dos campos dejo el script para q me den la ayuda lse los agradezco.
Código HTML:
Ver original
  1. $diario=array_combine($dia,$ini1);//combino los arrays de cedula en adelante-->>
  2.  $link = mysql_connect ('localhost', 'root', '');
  3.      if (!$link){
  4.          echo 'error al conectar';
  5.          die;
  6.      }
  7.      $bd = mysql_select_db('saap');
  8.      if (!$bd){
  9.          echo 'error al seleccionar la base d datos';
  10.          die;
  11.      }
  12.  $sql="INSERT INTO horario (dia,h_inic1) VALUES ";//primera parte de la cadena
  13.  
  14. foreach($diario as $dia => $ini1) { //recorro el array
  15.   if (!empty($dia) || !empty($ini1)) {$sql.=sprintf("('%s','%s'),", trim($dia), trim($ini1));}//compruebo que al menos uno de los dos exista, y los pongo en la cadena de inserción
  16.  }
  17.  $sql=rtrim($sql,',');//elimino la última coma sobrante  
  18.  echo $sql;
  19.  $res=mysql_query($sql);}
  20.  else {echo 'Seleccione Dia y Horas para enviar';
  21.  }
  22.  ?>

No he podido asociar las otras variables dentro del $diario=array_combine($x,$x,$x,$x,$x,$x);

Ademas no he podido incluir dentro del array_combine la variable $cedula.
__________________
Yebert
  #6 (permalink)  
Antiguo 04/07/2012, 21:12
Avatar de yebert  
Fecha de Ingreso: marzo-2012
Ubicación: Mérida
Mensajes: 46
Antigüedad: 12 años, 1 mes
Puntos: 3
De acuerdo Respuesta: Como incluir el id_personal en el bucle para insetar en varias filas con o

Gracias a todos por sus visitas, aunque no me dieron respuesta en este foro; ya logre solucionarlo de esta forma: -------------->>>> Les dejo el script a quien pueda necesitarlo... Suerte..!!

$diario= array();

for($i = 0; $i <= sizeof($dia); ++$i)
{
$diario[] = sprintf('(\'%s\', \'%s\', \'%s\', \'%s\', \'%s\', \'%s\', \'%s\', \'%s\')', $cedula, $grado, $seccion, $aula, $dia[$i], $ini1[$i], $fin1[$i], $fecha);
}
$sql = sprintf('INSERT INTO horario(cedula,grado,seccion,aula,dia,h_entrada,h_ salida,f_creado) VALUES %s;', implode(',',$diario));
__________________
Yebert

Etiquetas: bucle, filas, html, incluir, mysql, 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 17:47.