Foros del Web » Programando para Internet » PHP »

consulta insertar checkbox en tabla

Estas en el tema de consulta insertar checkbox en tabla en el foro de PHP en Foros del Web. Hola que tal tengo un problema para insertar varios checkbox en un campo para c/u, si tengo 3 opciones por ej, se insertarian en un ...
  #1 (permalink)  
Antiguo 30/06/2014, 08:59
 
Fecha de Ingreso: mayo-2014
Ubicación: Pehuajo
Mensajes: 10
Antigüedad: 9 años, 11 meses
Puntos: 0
consulta insertar checkbox en tabla

Hola que tal tengo un problema para insertar varios checkbox en un campo para c/u, si tengo 3 opciones por ej, se insertarian en un campo a,otro b, y c. el tema es que no se bien como hacerlo
en el formulario tengo esto:
Código:
  <input type="checkbox" name="antecedentes_flia[]" value="a"<?php if ($_REQUEST ["antecedentes_flia"]=="a") echo "selected" ?>>
DBT
HTA<input type="checkbox" name="antecedentes_flia[]" value="b"<?php if ($_REQUEST ["antecedentes_flia"]=="b") echo "selected" ?>>
CV <input type="checkbox" name="antecedentes_flia[]" value="c"<?php if ($_REQUEST ["antecedentes_flia"]=="c") echo "selected" ?>>
pero no se como insertar cada dato en la bd, como puedo hacerlo??, saludos
  #2 (permalink)  
Antiguo 30/06/2014, 09:07
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: consulta insertar checkbox en tabla

Ya que se trata de un array de checkbox, cuando vayas a guardar los datos, llegará un array con los valores de cada checkbox marcado, entonces, solo te quedaría darle forma a la consulta para guardar los valores.

Código PHP:
Ver original
  1. $valores = "('" . implode("'), ('", $_POST['antecedentes_flia']) . "')";
  2. mysql_query("INSERT INTO tabla (campo) VALUES {$valores}");

De esta manera, la consulta tomaría la siguiente forma:

Código MySQL:
Ver original
  1. INSERT INTO tabla (campo) VALUES ('a'), ('b'), ('c')

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 30/06/2014, 09:39
 
Fecha de Ingreso: mayo-2014
Ubicación: Pehuajo
Mensajes: 10
Antigüedad: 9 años, 11 meses
Puntos: 0
Respuesta: consulta insertar checkbox en tabla

Cita:
Iniciado por Alexis88 Ver Mensaje
Ya que se trata de un array de checkbox, cuando vayas a guardar los datos, llegará un array con los valores de cada checkbox marcado, entonces, solo te quedaría darle forma a la consulta para guardar los valores.

Código PHP:
Ver original
  1. $valores = "('" . implode("'), ('", $_POST['antecedentes_flia']) . "')";
  2. mysql_query("INSERT INTO tabla (campo) VALUES {$valores}");

De esta manera, la consulta tomaría la siguiente forma:

Código MySQL:
Ver original
  1. INSERT INTO tabla (campo) VALUES ('a'), ('b'), ('c')

Saludos
Hola que tal, gracias por responder, estuve probando pero no me anda no se porque (no guarda nada en la bd),yo puse:
Código:
$valores = "('" . implode("'), ('", $_POST['antecedentes_flia']) . "')";
mysql_query("INSERT INTO paciente (a) VALUES {$valores}");
y el formulario lo deje como postie arriba, una pregunta esto de guardar en $valores toma todos los checkbox?? y guarda cada uno en un mismo campo?
  #4 (permalink)  
Antiguo 30/06/2014, 09:54
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: consulta insertar checkbox en tabla

Cita:
Iniciado por capofg Ver Mensaje
Una pregunta esto de guardar en $valores toma todos los checkbox?? y guarda cada uno en un mismo campo?
Así es, es una manera más limpia y eficiente de hacerlo en lugar de utilizar un bucle. Haz algo, imprime lo siguiente de esta forma:

Código PHP:
Ver original
  1. echo "INSERT INTO tabla (campo) VALUES {$valores}";

Y el resultado lo copias y pegas en phpMyadmin y lo pruebas, ahí sabrás si la sentencia es la correcta o no.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #5 (permalink)  
Antiguo 30/06/2014, 10:12
 
Fecha de Ingreso: mayo-2014
Ubicación: Pehuajo
Mensajes: 10
Antigüedad: 9 años, 11 meses
Puntos: 0
Respuesta: consulta insertar checkbox en tabla

Cita:
Iniciado por Alexis88 Ver Mensaje
Así es, es una manera más limpia y eficiente de hacerlo en lugar de utilizar un bucle. Haz algo, imprime lo siguiente de esta forma:

Código PHP:
Ver original
  1. echo "INSERT INTO tabla (campo) VALUES {$valores}";

Y el resultado lo copias y pegas en phpMyadmin y lo pruebas, ahí sabrás si la sentencia es la correcta o no.

Saludos
cuando yo imprimo en php me tira esto "INSERT INTO paciente (a) VALUES ('a'), ('b')" (sin comillas), luego lo ejecuto en sql de phpmyadmin y aparece esto:
consulta SQL:
Código:
INSERT INTO paciente (a) VALUES ('a'), ('b')
MySQL ha dicho: Documentación

#1062 - Duplicate entry '' for key 'PRIMARY'
  #6 (permalink)  
Antiguo 30/06/2014, 21:19
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: consulta insertar checkbox en tabla

¿El campo a de la tabla en la base de datos es primario?
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #7 (permalink)  
Antiguo 01/07/2014, 06:12
 
Fecha de Ingreso: mayo-2014
Ubicación: Pehuajo
Mensajes: 10
Antigüedad: 9 años, 11 meses
Puntos: 0
Respuesta: consulta insertar checkbox en tabla

Cita:
Iniciado por Alexis88 Ver Mensaje
¿El campo a de la tabla en la base de datos es primario?
si ya probe cambiarlo a "valores distintos" pero no hace nada u.u, como puedo hacer para sacarle la clave primaria solo a ese campo?
EDIT: Ya le saque la clave primaria pero me sigue apareciendo lo mismo (#1062 - Duplicate entry '' for key 'PRIMARY') al querer ejecutar INSERT INTO paciente (a) VALUES ('a'), ('b')

Última edición por capofg; 01/07/2014 a las 06:33
  #8 (permalink)  
Antiguo 04/07/2014, 00:28
 
Fecha de Ingreso: mayo-2014
Ubicación: Pehuajo
Mensajes: 10
Antigüedad: 9 años, 11 meses
Puntos: 0
Respuesta: consulta insertar checkbox en tabla

agrego la estructura de la tabla

Etiquetas: checkbox, formulario, select, tabla
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 21:50.