Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/04/2013, 12:05
Avatar de Briss
Briss
 
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 10 meses
Puntos: 12
Exclamación Insertar arrays

Hola tengo el siguiente Form el cual recoje datos de un horario, funciona bien pero estoy tratando de insertar varios registros a la vez y no he conseguido hacerlo
pasa un registro bien , pero si por ejemplo selecciono dos días solo pasa bien toda la información en el primero, y en el segundo solo inserta el dia bien y los demás datos ya no los pasa como nulos
lo que no pasa son los valores de los selects estos son selects dependientes tienen los corchetes q indican q son array pero nada.....
Código HTML:
<form action="<?php echo $editFormAction; ?>" method="post" id="form1" name="form1" enctype="multipart/form-data">

  <table>

     <tr valign="baseline">
 <td width="144" height="31" align="right" valign="middle" > <div align="left"><font size="2">D&iacute;a:</font></div></td>
        <td width="196" height="31" valign="middle">
          <input type="checkbox" name="dia[]"  value="1"/>L
          <input type="checkbox" name="dia[]"  value="2"/>M
          <input type="checkbox" name="dia[]"  value="3"/>Mi
          <input type="checkbox" name="dia[]"  value="4" />J
          <input type="checkbox" name="dia[]"  value="5"/>V
          <input type="checkbox" name="dia[]"  value="6" />S
          <input type="checkbox" name="dia[]"  value="7"/>D
          </td>
     </tr>
  <tr valign="baseline">
 <td ><font size="2">Area:</td>
        <td height="24" valign="middle"><select  name="combo1[]" id="combo1" style="width:197px" >
          <option value="0">Seleccionar Area</option>
          <?php
$db = new MySQL();  
$db->open();
$consulta = $db->consulta("SELECT * areas FROM  Order by idarea");
if ($row = $db->fetch_array($consulta)) {
	do {
		echo 
		'<option value="'.$row[idarea].'">'.$row[area].'</option>';
	}while($row = $db->fetch_array($consulta));
}
?>
        </select> </td>
    </tr>
   
     <tr valign="baseline">
 <td  > <div align="left">Grupo:</td>
        <td ><select  name="combo2[]" id="combo2" style="width:197px">
        </select></td>
         
    <tr valign="baseline">
 <td  >Asignatura:</td>
       <td valign="middle">
        <select name="combo3[]" id="combo3" style="width:197px" >
</select> 
  <?php  echo  $var = $_POST['combo3'];?>
</td>
    </tr>
       <tr valign="baseline">
 <td > Profesor:</td>
       <td height="34" valign="middle">
        <select name="combo4[]" id="combo4" style="width:197px" >
</select>        
    </tr>
  
    <tr valign="baseline">
      <td >Hora Inicio:</td>
      <td valign="middle"><input  name="hinicio[]" id="hinicio" value="" size="26"/></td>
    </tr>
     <tr valign="baseline">
      <td >Hora Fin:</td>
      <td valign="middle"><input  name="hfin[]" id="hfin" value="" size="26"/></td>
    </tr>
    
      <tr valign="baseline">
      <td >Aula:</td>
      <td valign="middle"><input type="text" name="aula[]" id="aula" value="" size="26"/></td>
    </tr>
    <tr valign="baseline">
      <td ><input type="button" value="Cancelar" onClick="history.back()" />
        <input type="submit" value="Enviar" /></td>
      <td valign="middle">&nbsp;</td>
    </tr>
    </table>
    <input type="hidden" name="MM_insert" value="form1" />
</form> 
Codigo insertar
Código PHP:
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
    
$dias= array();
     foreach(
$_POST["dia"] as $key => $value){
  
$insertSQL sprintf("INSERT INTO horario (dia, idarea, idgrupo,idasignatura , docente,hinicio, hfin,aula) VALUES (%s,%s,%s,%s, %s, %s, %s, %s)",    
                        
GetSQLValueString($_POST['dia'][$key], "text"),
                       
GetSQLValueString($_POST['combo1'][$key], "text"),
                       
GetSQLValueString($_POST['combo2'][$key], "text"),
                       
GetSQLValueString($_POST['combo3'][$key], "text"),
                       
GetSQLValueString($_POST['combo4'][$key], "text"),
                       
GetSQLValueString($_POST['hinicio'][$key], "text"),
                       
GetSQLValueString($_POST['hfin'][$key], "text"),
                       
GetSQLValueString($_POST['aula'][$key], "text"));                    
  
mysql_select_db($database_connection$connection);
  
$Result1 mysql_query($insertSQL$connection) or die(mysql_error());