Foros del Web » Programando para Internet » PHP »

checkbox y BD

Estas en el tema de checkbox y BD en el foro de PHP en Foros del Web. hola tengo una cosulta simple, soy nuevo en mysql y php yo tengo un formulario en el cual dentro de el hay una lista de ...
  #1 (permalink)  
Antiguo 13/12/2009, 16:26
Avatar de MARKWEB  
Fecha de Ingreso: septiembre-2001
Ubicación: En mi casa
Mensajes: 1.562
Antigüedad: 23 años, 2 meses
Puntos: 0
checkbox y BD

hola tengo una cosulta simple, soy nuevo en mysql y php

yo tengo un formulario en el cual dentro de el hay una lista de checkbox donde el usuario puede elejir entre 1 o varios de los 10 checkbox que estan el formulario..

mi consulta al foro es:
¿para cada checkbox debo crear una variable aparte (en la base de datos) para guardar los datos si esta seleccionada o no en mi BD??

o puedo hacer una variable y en el recoger uno o varias selecciones ??


gracias
__________________
Un MEJOR AMIGO es como un trébol de 4 hojas, DIFÍCIL DE ENCONTRAR y ES DE BUENA SUERTE TENER UNO
  #2 (permalink)  
Antiguo 13/12/2009, 16:31
Avatar de mariogl84  
Fecha de Ingreso: noviembre-2002
Ubicación: Barcelona
Mensajes: 433
Antigüedad: 22 años
Puntos: 20
Respuesta: checkbox y BD

¿Qué quiere decir "debo crear una variable aparte (en la base de datos)"? Si tu duda es cómo montarlo en PHP, tienes que asignarle el mismo name a todos los checkboxes, pero asegúrate de que el name termina con corchetes, así:

Código PHP:
<input type="checkbox" name="opciones[]" value="1" />
<
input type="checkbox" name="opciones[]" value="2" />
<
input type="checkbox" name="opciones[]" value="3" /> 
Luego, cuando recojas los datos, en $_POST['opciones'] (si es que has enviado por POST) tendrás un array con todos los valores seleccionados. Para procesar esos datos, trátalo como un array normal. Por ejemplo:

Código PHP:
foreach ($_POST['opciones'] as $opcion) {
    
// Procesa la opción

  #3 (permalink)  
Antiguo 14/12/2009, 06:16
 
Fecha de Ingreso: mayo-2006
Mensajes: 49
Antigüedad: 18 años, 6 meses
Puntos: 2
Respuesta: checkbox y BD

Supongo que tu duda está en cómo guardar eso en la base de datos. Para el formulario sigue la solución que ha puesto mariogl84, aunque quizás es más cómodo procesar los datos de la siguiente manera:

Código PHP:
$opciones $_POST['opciones'];
for (
$i=0$i<count();$i++)
{
  echo 
"opcion ".$i." --> ".$opciones[$i]."<br>";

Te sugiero una solución muy fácil para guardar los datos:
Si quieres guardarlos en una celda de un registro de la tabla, puedes usar el comando implode(). que te genera un string a partir de un array, indicándole el separador:
Código PHP:
$opcionestxt implode(";",$_POST['opciones']); 

Luego, cuando leas el string de la bbdd, puedes recuperar la forma de array con la función inversa implode()...

...pero esto ya te lo dejo como ejercicio :)

Un saludo
__________________
Diseño web Xatcom.net
  #4 (permalink)  
Antiguo 14/12/2009, 14:01
Avatar de MARKWEB  
Fecha de Ingreso: septiembre-2001
Ubicación: En mi casa
Mensajes: 1.562
Antigüedad: 23 años, 2 meses
Puntos: 0
Respuesta: checkbox y BD

uff me rindoo.. llevo 5 dias en esto y no he podido hacerlo

ahora pido a la comunidad a la gracias de ustedes que peudan hacerme un ejemplo basico (los codigos completos) con 3 checkbox que se guarden en una base de datos, y que desde otra pagina pueda ver si estan seleccionados algunos campos o no

se los pido como un favor, se que esto no debiese pedirlo pero me urje para un trabajo en el instituto

de antemano le agradesco la ayuda
__________________
Un MEJOR AMIGO es como un trébol de 4 hojas, DIFÍCIL DE ENCONTRAR y ES DE BUENA SUERTE TENER UNO

Última edición por MARKWEB; 15/12/2009 a las 00:38
  #5 (permalink)  
Antiguo 15/01/2010, 14:33
Avatar de destor77  
Fecha de Ingreso: noviembre-2004
Ubicación: Gálvez, Santa Fe, Argentina
Mensajes: 2.654
Antigüedad: 20 años
Puntos: 43
Respuesta: checkbox y BD

Si no entendi mal no sabes como guardar los checkbox tildados.
Puedes hacerlo de 2 formas:
1- crear x cantidad de campos en la db como checkbox tengas, es decir si tenes 3 creas 3 campos en la db. Y despues vas preguntando si el check 1 esta tildado que lo guarde sino no, y asi con el resto.

2- tener un solo campo en la base de datos, y armar algo de manera numérica pasa saber cual esta tildado y cual no.

salu2
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 22:05.