Foros del Web » Programando para Internet » PHP »

Como guardar valores de checkbox en una DB y poder mostrarlos?

Estas en el tema de Como guardar valores de checkbox en una DB y poder mostrarlos? en el foro de PHP en Foros del Web. He leido varios topicos parecidos pero no logro hacer funcionar lo que quiero hacer. Tengo una serie de checkboxes: Código: <input type="checkbox" name="seleccion[]" value="1"/><span class="">Argentina</span><br> ...
  #1 (permalink)  
Antiguo 27/02/2011, 12:09
 
Fecha de Ingreso: marzo-2007
Mensajes: 302
Antigüedad: 17 años
Puntos: 2
Pregunta Como guardar valores de checkbox en una DB y poder mostrarlos?

He leido varios topicos parecidos pero no logro hacer funcionar lo que quiero hacer.
Tengo una serie de checkboxes:

Código:
<input type="checkbox" name="seleccion[]" value="1"/><span class="">Argentina</span><br>
 <input type="checkbox" name="seleccion[]" value="2"/><span class="">Chile</span><br>
<input type="checkbox" name="seleccion[]" value="3"/><span class="">Uruguay</span><br>
<input type="checkbox" name="seleccion[]" value="4"/><span class="">Otros</span><br>
Para guardar los que seleccione en la DB hago lo siguiente:

Código:
$checkboxes = $_POST['seleccion'];
$string = implode($checkboxes,",");
mysql_db_query($database_cnx,"UPDATE persona SET seleccion = '$string' WHERE id='$id' ");
Como hago, si ahora quiero tomar eso que guarde en la DB y mostrarlos. (en la DB se me guarda como Array, probe con un for each y no tuve exito)

Grx!
  #2 (permalink)  
Antiguo 27/02/2011, 19:24
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años
Puntos: 101
Respuesta: Como guardar valores de checkbox en una DB y poder mostrarlos?

Ahh! Antes de guardar en base de datos tenes que sanear los datos, para evitar hackeos y robos de datos. Usa mysql_real_scape_string()

En relacion a guardar valores separados por coma en una tabla, te cuento que está desaconsejado. Cuando se diseña una base de datos a eso se le llama "campos multivaluados".

No conozco tu proyecto así que mucho más no puedo decirte. Pero si te empeñaras en seguir con tu idea, proba

Código PHP:
Ver original
  1. if (isset($_POST['submitted'])) {
  2.  
  3. //print_r($_POST['seleccion']);
  4.  
  5. if(isset($_POST['seleccion']))
  6. {
  7. $checkboxes = $_POST['seleccion'];
  8.  
  9. $string = mysql_real_escape_string ( implode(",",  $checkboxes ) );
  10.  
  11. mysql_db_query($database_cnx,"UPDATE persona SET seleccion = '$string' WHERE id='$id' ");
  12.  
  13. }
  14.  
  15. }

Dos cosas:
- primero comprobas que los datos realmente existan (no van a existir si no se selecciona ningun checkbox)
- para implode, la sintaxis es esta: implode(",", $array); // primero va el aglutinador, luego el array.
  #3 (permalink)  
Antiguo 27/02/2011, 19:25
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 1 mes
Puntos: 81
Respuesta: Como guardar valores de checkbox en una DB y poder mostrarlos?

Te recomiendo que hagas esto:
Código PHP:
var_dump($_POST); 
De esta manera veras como viene el dato...

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!

Etiquetas: checkbox, poder
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 08:07.