Foros del Web » Programando para Internet » PHP »

Insertar array check box

Estas en el tema de Insertar array check box en el foro de PHP en Foros del Web. Hola estoy tratando de insertar varios registros de acuerdo al numero de check box seleccionados pero solo he conseguido insertar un solo registro este es ...
  #1 (permalink)  
Antiguo 08/04/2013, 14:27
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.284
Antigüedad: 9 años, 10 meses
Puntos: 12
Insertar array check box

Hola estoy tratando de insertar varios registros de acuerdo al numero de check box seleccionados pero solo he conseguido insertar un solo registro
este es mi form:

<form .....>
<table >
<td>
D&iacute;a:
<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>


<tr >
<td >Hora Inicio:</td>
<td><input name="hinicio[]" id="hinicio" value="" size="26"/></td>
</tr>
<tr>
<td ><div align="left"><font size="2">Hora Fin:</font></div></td>
<td ><input name="hfin[]" id="hfin" value="" size="26"/></td>
</tr>

y el codigo

Código PHP:
foreach($_POST["dia"] as $key => $value){
  
$insertSQL sprintf("INSERT INTO horario (dia, hinicio, hfin) VALUES (%s,%s,%s)",    
                        
GetSQLValueString($_POST['dia'][$key], "text"),
                    
                       
GetSQLValueString($_POST['hinicio'][$key], "text"),
                       
GetSQLValueString($_POST['hfin'][$key], "text")); 


Se inserta solo una vez por ejemplo si marco lunes y miercoles
hinicio=8
horafin:12
en mi Bd solo se inserta 1,8,12
y no 1,8,12 y 3,8,12

Desde ya Gracias
  #2 (permalink)  
Antiguo 08/04/2013, 14:30
 
Fecha de Ingreso: abril-2008
Ubicación: El Salvador
Mensajes: 736
Antigüedad: 13 años, 1 mes
Puntos: 47
Respuesta: Insertar array check box

La ejecucion de la consulta está dentro del foreach???
  #3 (permalink)  
Antiguo 08/04/2013, 15:01
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.284
Antigüedad: 9 años, 10 meses
Puntos: 12
Respuesta: Insertar array check box

Si

Código PHP:
 foreach($_POST["dia"] as $key => $value){
  
$insertSQL sprintf("INSERT INTO horario (dia,hinicio, hfin) VALUES (%s, %s, %s)",    
                        
GetSQLValueString($_POST['dia'][$key], "text"),
                       
                       
GetSQLValueString($_POST['hinicio'][$key], "text"),
                       
GetSQLValueString($_POST['hfin'][$key], "text"));
  
                      
  
  
mysql_select_db($database_connection$connection);
  
$Result1 mysql_query($insertSQL$connection) or die(mysql_error());
  } 
  #4 (permalink)  
Antiguo 08/04/2013, 15:07
 
Fecha de Ingreso: abril-2008
Ubicación: El Salvador
Mensajes: 736
Antigüedad: 13 años, 1 mes
Puntos: 47
Respuesta: Insertar array check box

Mira saca del foreach esta linea

Código PHP:
Ver original
  1. mysql_select_db($database_connection, $connection);

No necesitas estar seleccionando la base cada vez.. hazlo antes del foreach...

Imprime un contador o la variable del string de la consulta solo para comprobar cuantas iteraciones hace el each
  #5 (permalink)  
Antiguo 08/04/2013, 15:58
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.284
Antigüedad: 9 años, 10 meses
Puntos: 12
Respuesta: Insertar array check box

ya cheque cual puede ser mi posible error
Código PHP:
<select name="combo1[]" id="combo1" style="width:197px" >
          <option value="0">Selecciona</option>
          <?php
$db 
= new MySQL();  
$db->open();
$consulta $db->consulta("SELECT * FROM lugar Order by pid");
if (
$row $db->fetch_array($consulta)) {
    do {
        echo 
        
'<option value="'.$row[id].'">'.$row[lugar].'</option>';
    }while(
$row $db->fetch_array($consulta));
}
?>
        </select>
agregue un campo aula y estoy tratando de pasar el lugar mediante la Bd
despues de agregar el echo si pasa los dos días o 3....
el problema es envía un error toma como vacio el combo1

estoy leyendo y me hacía falta agregar multiple
<select multiple name="combo1[]" id="combo1" style="width:197px" >

Pero aun asi no inserta nada me manda supuestamente vacio el combo1
  #6 (permalink)  
Antiguo 08/04/2013, 17:33
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.284
Antigüedad: 9 años, 10 meses
Puntos: 12
Respuesta: Insertar array check box

un slect puede pasar datos como array????

Etiquetas: box, registro, 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 10:30.