Foros del Web » Programando para Internet » PHP »

Grabar y mostrar datos de Checkbox

Estas en el tema de Grabar y mostrar datos de Checkbox en el foro de PHP en Foros del Web. Hola Chicos! De nuevo danto lata. Supongo que en realidad no es muy complicado, pero no puedo dar pie con bola. Se trata de que ...
  #1 (permalink)  
Antiguo 10/05/2010, 16:30
 
Fecha de Ingreso: mayo-2010
Mensajes: 6
Antigüedad: 13 años, 11 meses
Puntos: 0
Grabar y mostrar datos de Checkbox

Hola Chicos!

De nuevo danto lata. Supongo que en realidad no es muy complicado, pero no puedo dar pie con bola. Se trata de que en mi formulario he puesto 7 checkbox, cada uno representa a un día de la semana, porque mi aplicación te indica si el negocio está cerrado o abierto basado en día y hora.

Anteriormente lo tenía como un sólo TextField, pero luego los usuario se complicaban mucho para poner "1,2,3,4,5" por ejemplo, para indicar los días de la semana.

Mi programa sigue funcionando con la base de "1,2,3,4,5,6,7" pero en realidad estoy perdido en como hago para grabar con ese formato y cuando haga una consulta, como debo mostrar que días son checked y cuales no. Se que debe ser muy sencillo, pero nunca había trabajado los checkbox.

Como idea, dias_de_apertura es un campo Varchar(15).

De antemano, gracias
  #2 (permalink)  
Antiguo 10/05/2010, 17:30
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 4 meses
Puntos: 89
Respuesta: Grabar y mostrar datos de Checkbox

Si tú guardas los días en ese campo, tal cual muestras : "1,2,3,4,5,6,7", deberías usar implode, y convertir los checkbox en un arreglo. De esta forma :

Código HTML:
Ver original
  1. <input type="checkbox" name="dias[]" value="1" />
  2. <input type="checkbox" name="dias[]" value="2" />
  3. <input type="checkbox" name="dias[]" value="3" />
  4. ...

Luego, utilizas implode para unir, lo cual es sencillo, ya que solo uniría los valores que le llegue por medio de post:

Código PHP:
Ver original
  1. echo implode(',', $_POST['dias']);

Luego, si quieres mostrar que días fueron seleccionados, tendrías que usar explode ( la función contraria a implode ) para separar los datos, y luego recorrer con un ciclo para mostrar si fue seleccionado o no.

Inténtalo, es bastante sencillo.
__________________
Nunca te olvidaré mi negra hermosa. Te extraño demasiado.
  #3 (permalink)  
Antiguo 10/05/2010, 17:40
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 15 años, 9 meses
Puntos: 105
Respuesta: Grabar y mostrar datos de Checkbox

Puedes tener en tu html asi:
Código PHP:
Ver original
  1. <input type="checkbox" name="dias[]" value="1" />
  2. <input type="checkbox" name="dias[]" value="2" />
  3. .............
  4. <input type="checkbox" name="dias[]" value="7" />

en tu php asi:
Código PHP:
Ver original
  1. $dias_de_apertura = implode(",", $_REQUEST['dias']);

y despues en otro html, para saber cuales fueron chequeados.....

Código PHP:
Ver original
  1. foreach(explode(",", $dias_de_apertura) as $dia) echo "dia: $dia<br />";

Suerte.
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
  #4 (permalink)  
Antiguo 10/05/2010, 18:39
 
Fecha de Ingreso: mayo-2010
Mensajes: 6
Antigüedad: 13 años, 11 meses
Puntos: 0
Respuesta: Grabar y mostrar datos de Checkbox

Muchas gracias muchachos, voy a intentarlo de esa manera, excelentes tips!!!

Etiquetas: checkbox, grabar
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:59.