Foros del Web » Programando para Internet » PHP »

insertar varios checkboxes en mysql

Estas en el tema de insertar varios checkboxes en mysql en el foro de PHP en Foros del Web. Hola, tengo en una pagina php con varios chekboxes con el "name" igual pero diferentes "values", por ejemplo: <input type="checkbox" name="jc" value="Equipo"> <input type="checkbox" name="jc" ...
  #1 (permalink)  
Antiguo 09/08/2005, 17:41
Avatar de jesusalain  
Fecha de Ingreso: julio-2005
Ubicación: Cienfuegos, Cuba
Mensajes: 20
Antigüedad: 18 años, 7 meses
Puntos: 0
insertar varios checkboxes en mysql

Hola, tengo en una pagina php con varios chekboxes con el "name"
igual pero diferentes "values", por ejemplo:

<input type="checkbox" name="jc" value="Equipo">
<input type="checkbox" name="jc" value="Jugador">
<input type="checkbox" name="jc" value="Entrenador">
etc...

tengo una tabla en mysql con 3 campos: id, estilo, valor
en el campo estilo se debe insertar el valor(value) del checkbox y en el
campo valor un numero(1)

en el codigo php que recive el formulario, tengo esto:
mysql_query("INSERT INTO $tabla ( `id` , `jc` , `valor` ) VALUES ('',
'$_POST[jc]', '1')");

¿como hago para insertar en esa tabla el o los valores de los chekboxes?
es decir, si se selecciona un chekbox no hay problemas, se inserta
correctamente el value del name y el valor especificado, pero si
selecciono varios checkboxes entonces se inserta solamente el ultimo
seleccionado.

Una ayuda por favor, soy nuevo en esto
  #2 (permalink)  
Antiguo 10/08/2005, 06:00
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 7 meses
Puntos: 102
Algo es seguro... no puedes darle el mismo name a todos los checkboxes...

Debes darle names diferentes (podría ser el mismo name+"contador") ó usar matricez.
Algo de eso se trató aquí:
http://www.forosdelweb.com/f18/como-procesar-todos-checkbox-294560/
http://www.forosdelweb.com/f18/ayuda-con-arreglo-290090/

... pero no entendí bien cómo es que quieres que se recojan esos datos e insertarlos en la BD:todos juntos en un campo??, un registro por check?, todos los check como un registro?; todas esas posibilidades se plantean en los enlaces que dejé, espero te ayuden en algo... si hay problemas aclara cómo es que quieres guardar.

Suerte!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #3 (permalink)  
Antiguo 10/08/2005, 08:11
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 5 meses
Puntos: 11
jesusalain: hay que entender que se usan checkboxes cuando uno quiere elegir una o mas opciones dentro de una lista de opciones, por el contrario, si uno desea elegir tan solo una opcion, que excluye siempre a las demas, se deberán usar radiobuttons. Si esto ultimo es lo que quieres hazlo asi:

<input type="radio" name="jc" value="Equipo">
<input type="radio" name="jc" value="Jugador">
<input type="radio" name="jc" value="Entrenador">

Aqui, es necesario que la variable $_POST['jc'] se concatene al resto del string:

mysql_query("INSERT INTO $tabla ( `id` , `jc` , `valor` ) VALUES ('',
'".$_POST[jc]."', '1')");
  #4 (permalink)  
Antiguo 10/08/2005, 08:26
Avatar de jesusalain  
Fecha de Ingreso: julio-2005
Ubicación: Cienfuegos, Cuba
Mensajes: 20
Antigüedad: 18 años, 7 meses
Puntos: 0
Problema solucionado

Gracias a todos, efectivamente si deseo mantener el mismo name pero diferentes values debo recogerlos en un array, asi que lo hice:

<input type='checkbox' name='cuco[1]' value='equipo'>
<input type='checkbox' name='cuco[2]' value='entrenador'>
etc..

luego realicé un ciclo que recorriera desde 1 hasta la cantidad de name[x] y en la consulta le di para que insertara cada $_POST[cuco][$i].
de esa forma me funcionó perfecto.

Gracias por su apoyo, me sirvió de mucho el ejemplo
__________________
syron :cool:
  #5 (permalink)  
Antiguo 31/05/2011, 11:01
 
Fecha de Ingreso: marzo-2009
Mensajes: 90
Antigüedad: 15 años
Puntos: 0
Respuesta: insertar varios checkboxes en mysql

hola amigo, podrias postear el codigo ya q tengo el mismo incoveniente pero a mayo escala y no he podido hacerlo.
  #6 (permalink)  
Antiguo 31/05/2011, 11:45
Avatar de Flakiss  
Fecha de Ingreso: septiembre-2009
Mensajes: 113
Antigüedad: 14 años, 6 meses
Puntos: 1
Respuesta: insertar varios checkboxes en mysql

no es necesario ponerle el nombre[1], nombre[2]

solo basta con nombre[] en todos los checkbox. se incrementa solito despues.

Cuando lo llame de la otra pagina haces un


if(count($_POST["nombre"])>0){

foreach($_POST["nombre"] as $valor){
echo $valor."<br>";
}

}else{ echo "Debe marcar a lo menos una opción";}

saludos! ;)
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 06:16.