Foros del Web » Programando para Internet » PHP »

Llenar campo de la BD con varios checkbox

Estas en el tema de Llenar campo de la BD con varios checkbox en el foro de PHP en Foros del Web. Hola, saludos Tengo varios checkbox: Código PHP: < input type = "checkbox"  name = "ministerio[0]"  value = "maestro"  /> < input type = "checkbox"  name = "ministerio[]"  ...
  #1 (permalink)  
Antiguo 29/09/2010, 15:15
 
Fecha de Ingreso: agosto-2008
Ubicación: Cali . Colombia
Mensajes: 459
Antigüedad: 15 años, 8 meses
Puntos: 1
Pregunta Llenar campo de la BD con varios checkbox

Hola, saludos

Tengo varios checkbox:

Código PHP:
<input type="checkbox" name="ministerio[0]" value="maestro" />
<
input type="checkbox" name="ministerio[]" value="alabanza" />
<
input type="checkbox" name="ministerio[]" value="compras" />
<
input type="checkbox" name="ministerio[]" value="ventas" />
<
input type="checkbox" name="ministerio[]" value="bodega" /> 

y quiero que al seleccionarlos todos se meguarden el un campo de la base de datos.

por ahora tengo esto pero no me funciona:

Código PHP:
foreach ($ministerio as $op_ministerio){ 


Código PHP:
 VALUES('$op_ministerio'
__________________
Jaime P. Bravo
Programador Web
MCP (Microsoft Certified Professional)
  #2 (permalink)  
Antiguo 29/09/2010, 15:25
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Llenar campo de la BD con varios checkbox

primero debes de especificar el origen de los datos: get o post:

Código PHP:
$ministerio $_POST['ministerio']; //o $_GET 
nota: solo los checkbox marcados se enviarán, por lo tanto, si por ejemplo el usuario elije: "maestro, compras y bodegas", llegarán en ese orden, por lo que sus indices serán 0, 1 y 2, y no podrás saber quien es que?, si quieres otro comportamiento debes de aplicar sus indices en el html de una vez:

Código HTML:
Ver original
  1. <input type="checkbox" name="ministerio[0]" value="maestro" />
  2. <input type="checkbox" name="ministerio[1]" value="alabanza" />
  3. <input type="checkbox" name="ministerio[2]" value="compras" />
  4. <input type="checkbox" name="ministerio[3]" value="ventas" />
  5. <input type="checkbox" name="ministerio[4]" value="bodega" />

de esa forma "maestro, compras y bodegas", retornará 0, 2 y 4 respectivamente
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 29/09/2010, 15:26
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 7 meses
Puntos: 331
Respuesta: Llenar campo de la BD con varios checkbox

Hola soldier, por empezar tienes un problema con los nombres, intenta algo así:

Código PHP:
<input type="checkbox" name="ministerio_0" value="maestro" />
<
input type="checkbox" name="ministerio_1" value="alabanza" />
<
input type="checkbox" name="ministerio_2" value="compras" />
<
input type="checkbox" name="ministerio_3" value="ventas" />
<
input type="checkbox" name="ministerio_4" value="bodega" /> 
Ahora puedes recorrerlos así (una idea):

Código PHP:
<?php
    $check 
= array();
    foreach(
$_POST as $key => $value){
        if(
strstr($key"ministerio"))
        
$check[] = $value;
    }
    
    
//Ahora que has aislado los checks trabaja con ellos
    
print_r($check);
    
?>
a ver si marcha, un saludo
  #4 (permalink)  
Antiguo 29/09/2010, 15:39
 
Fecha de Ingreso: agosto-2008
Ubicación: Cali . Colombia
Mensajes: 459
Antigüedad: 15 años, 8 meses
Puntos: 1
Pregunta Respuesta: Llenar campo de la BD con varios checkbox

No me funciono ninguna

La primera solo me toma 1 valor y lo guarda
la segunda selecciono varios y me guarda solo "array" y yá


Gracias por el dato.
__________________
Jaime P. Bravo
Programador Web
MCP (Microsoft Certified Professional)
  #5 (permalink)  
Antiguo 29/09/2010, 15:47
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Llenar campo de la BD con varios checkbox

Cita:
Iniciado por soldierjesus Ver Mensaje
No me funciono ninguna

La primera solo me toma 1 valor y lo guarda
la segunda selecciono varios y me guarda solo "array" y yá


Gracias por el dato.
¿sabes lo que es un array?, porque eso es lo que interpreta php al obtener los corchetes [], si no lo conoces, investiga un poco más porque si pretendes obtener n cantidad de valores, para almacenarlos debes de acceder n veces a ellos, no una, y eso solo lo puedes hacer con un array.

si posteas el código donde guardas es más fácil orientarte.
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #6 (permalink)  
Antiguo 29/09/2010, 16:19
 
Fecha de Ingreso: agosto-2008
Ubicación: Cali . Colombia
Mensajes: 459
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: Llenar campo de la BD con varios checkbox

Cita:
$ministerio = $_POST['ministerio'];
foreach ($ministerio as $op_ministerio){
}
Cita:
<td>Maestro</td>
<td width="33"><input type="checkbox" name="ministerio[]" value="maestro" /> </td>
<td width="83">Grupo de paz</td>
<td width="63"><input type="checkbox" name="ministerio[]" value="grupos de paz" /></td>
<td width="76">Consolidacion</td>
<td><input type="checkbox" name="ministerio[]" value="consolidacion" /></td>
<td width="34">Monitor</td>
<td width="35"><input type="checkbox" name="ministerio[]" value="Monitor" /></td>
<td width="71">&nbsp;</td>
<td width="35">&nbsp;</td>
<td width="41">&nbsp;</td>
<td width="32">&nbsp;</td>
</tr>
<tr>
<td>M. Infantil</td>
<td><input type="checkbox" name="ministerio[]" value="Ministerio infantil" /></td>
<td>Protocolo</td>
<td><input type="checkbox" name="ministerio[]" value="protocolo" /></td>
<td>Alabanza</td>
<td><input type="checkbox" name="ministerio[]" value="alabanza" /></td>
<td colspan="3">&nbsp;</td>
<td colspan="3">&nbsp;</td>
</tr>
<tr>
<td>Danza</td>
<td><input type="checkbox" name="ministerio[]" value="danza" /></td>
<td>Ninguno</td>
<td><input type="checkbox" name="ministerio[]" value="ninguno" /></td>
<td>Seguridad</td>
<td><input type="checkbox" name="minsiterio[]" value="seguridad" /></td>
<td colspan="3">&nbsp;</td
__________________
Jaime P. Bravo
Programador Web
MCP (Microsoft Certified Professional)

Etiquetas: bd, checkbox, llenar, campos
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 04:30.