Foros del Web » Programando para Internet » PHP »

REcuperar datos de checkbox e insertarlos en un solo campo de tabla mysql

Estas en el tema de REcuperar datos de checkbox e insertarlos en un solo campo de tabla mysql en el foro de PHP en Foros del Web. Hola a todos. En un formulario tengo un checkbox con 10 items, el usuario al seleccionar varios de los items y enviar el formulario debe ...
  #1 (permalink)  
Antiguo 15/07/2013, 15:45
 
Fecha de Ingreso: marzo-2012
Mensajes: 21
Antigüedad: 12 años, 2 meses
Puntos: 0
REcuperar datos de checkbox e insertarlos en un solo campo de tabla mysql

Hola a todos.
En un formulario tengo un checkbox con 10 items, el usuario al seleccionar varios de los items y enviar el formulario debe insertar esos datos en un solo campo, yo lo tomo de esta forma:

$kidDeseases=$_POST[deseases];

$countDeseases=count($kidDeseases);

for($i=0;$i<$countDeseases;$i++){

$sql10=("INSERT INTO kidshealth(kidDeseases) VALUES('".$kidDeseases[$i]."')");

}

me inserta los datos en un solo campo pero al ver la tabla en mi bbdd en el campo que debe insertarlo solo me muestra la palabra array y ademas me crea otro ingreso como si fuera otro usuario y me inserta el ultimo item de los checkbox de mi formulario.

Mi pregunta es, si con un bucle for esta bien recorrer el array que se obtiene de mi checkbox, además esta bien si dentro del for coloco la sentencia para insertar los datosy, lo otro es si en mi bbdd que aparezca la palabra array quiere decir que si inserto los datos y por ultimo si no esta de la forma correcta, agradecería si me guiaran o me mostrarán como debe hacerlo, ya llevo días tratando pero nada.

GRACIAS y BENDICIONES
  #2 (permalink)  
Antiguo 16/07/2013, 02:05
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: REcuperar datos de checkbox e insertarlos en un solo campo de tabla mysql

Primero no se entiende bien lo que quieres hacer... si quieres guardar todos esos datos en un campo, ese campo seria un campo multivaluado lo cual es un error de base en el diseño de tu bbdd. Eso se soluciona con una tabla donde se guarden esos valores en unregistro para cada valor junto con el identificador del usuario al que van asociados.

Segundo falta codigo para ver lo que haces.... ese bucle escribe lo que seria una sentencia para insertar cada valor del array en un registro nuevo de la tabla kidshealth. Es decir a cada vuelta del bucle $sql10 será igual a

INSERT INTO kidshealth(kidDeseases) VALUES('valor0');
INSERT INTO kidshealth(kidDeseases) VALUES('valor1');
....

INSERT INTO kidshealth(kidDeseases) VALUES('valor i');

Lo que generará i registros en la tabla, si se ejecutan todas las querys...

($kidDeseases=$_POST["deseases"];)
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #3 (permalink)  
Antiguo 31/07/2013, 17:42
 
Fecha de Ingreso: marzo-2012
Mensajes: 21
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: REcuperar datos de checkbox e insertarlos en un solo campo de tabla mysql

Hola, ya cambie la base de datos y cree una tabla con un campo para cada uno de los valores de los checkbox; ahora el problema es como hago para que al dar click en los checkbox me inserte el valor en el campo correcto de la tabla. Al hacer click sobre los checkbox el codigo PHP crea un array con los checkbox seleccionados, pero el problema ahora es como tomo ese array e inserto cada valor del array en el campo correcto de la tabla en mi BBDD, habia intentado con la funcion list() y crear una variable para cada item del array luego esas variables usarlas para insertar cada valor en la tabla de mi BBDD pero el siempre me va a tomar los valores al reves y como no todos los checkbox son seleccionados entonces se forma un desorden en la tabla:
Ahora mi pregunta es, que puedo hacer con PHP para que me tome los valores del array y, como ya dije, me inserte esos valores en los campos correctos en miBBDD.

No te pongo codigo por que lo que e intentado no ha funcionado, si me inserta valores pero no donde debe ser.

GRACIAS de antemano por su colaboración...
  #4 (permalink)  
Antiguo 31/07/2013, 18:15
ruben_chirinos_1985
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: REcuperar datos de checkbox e insertarlos en un solo campo de tabla mysql

hola dime tu guardabas los valores de los check de esta forma 1,2,3,4,5 verdad
  #5 (permalink)  
Antiguo 31/07/2013, 18:29
 
Fecha de Ingreso: mayo-2013
Mensajes: 11
Antigüedad: 11 años
Puntos: 0
Respuesta: REcuperar datos de checkbox e insertarlos en un solo campo de tabla mysql

No entiendo del todo , si lo que quieres ingresar los valores de los checkbox a base de datos pues seria asi
Código PHP:
<input type="checkbox"  name="team" value="maria" style="width:20px; height:20px;" 
<
input type="checkbox" name="team1" value="empire" style="width:20px; height:20px;"

 
$a[1]=$_POST[team]; 
$a[1]=str_replace("\"","",$a[1]); 
$a[1]=str_replace("'","",$a[1]); 

 
$a[2]=$_POST[team1]; 
$a[2]=str_replace("\"","",$a[2]); 
$a[2]=str_replace("'","",$a[2]); 

include 
"config.php"
   
      
$sql_i="insert into temp(codigo,codigo2) values 
              ( 
           
              '$a[1]', 
              '$a[2]', 
               now() 
              )"


      
$rs=mysql_query($sql_i); 
  #6 (permalink)  
Antiguo 03/08/2013, 04:56
 
Fecha de Ingreso: marzo-2012
Mensajes: 21
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: REcuperar datos de checkbox e insertarlos en un solo campo de tabla mysql

Hola nuevamente...

Gracias por tu colaboración pero en linea de entender lo que estoy haciendo, me podrías explicar en tu código por que cada checkbox tiene nombre diferente y que pasa cuando todos los checkbox tienen el mismo nombre, lo otro, por que reemplazas un backslash por un espacio vacío y luego haces otro reemplazo que creo no entendí - sí aun estoy entendiendo PHP-, y mi pregunta más importante, si al procesar el formulario con PHP se recibe un array con todas las opciones que fueron seleccionadas, que hago, las ingreso en un solo campo de mi DDBB o, como ya hice, creo una tabla con un campo para cada posible selección de mis checkbox y luego al seleccionar en mi formulario ingreso en cada campo las respuestas; lo que me lleva a otra pregunta, si una de las posibles selecciones no es clickeada, en el código que tu colocas, como reconoces que en ese campo específico no debe ir nada y que colocas dentro de ese campo, obviamente la pregunta va basada en el código que colocas...

Se que son preguntas de principiante, pero para mí es un mundo nuevo y agradezco que en este foro y especialmente tu, te tomes el tiempo de ilustrarme.

Bendiciones¡¡¡¡
  #7 (permalink)  
Antiguo 03/08/2013, 12:31
ruben_chirinos_1985
Invitado
 
Mensajes: n/a
Puntos:
hola como estas amigo si quieres yo te podria ayudar en eso q deseas realizar en guardar varios datos con implode en un campo y recuperar que se muestren con explode en los check activados aqui esta mi correo *** EDITADO ***

o mejor que es lo q en verdad deseas hacer deseas mostrar los check activados segun los datos registrados en la tabla es decir me imagino que guardas los datos en el campo de esta manera apolo,apoyo,frase,idea,casa y quieres q los check que tengan ese valor se activen para saber q datos modificar

Última edición por David; 04/08/2013 a las 17:58 Razón: Quitar correo electrónico

Etiquetas: campo, checkbox, formulario, mysql, sql, 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 19:39.