Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Dudas acerca del modo del registro del checkbox en una BD

Estas en el tema de Dudas acerca del modo del registro del checkbox en una BD en el foro de Mysql en Foros del Web. Realmente puede ser una duda algo tonta pero me ah logrado detener por una semana entera, realmente creo tener 2 dudas, asi que aprovechare para ...
  #1 (permalink)  
Antiguo 13/12/2010, 23:02
 
Fecha de Ingreso: junio-2009
Mensajes: 75
Antigüedad: 14 años, 9 meses
Puntos: 0
Dudas acerca del modo del registro del checkbox en una BD

Realmente puede ser una duda algo tonta pero me ah logrado detener por una semana entera, realmente creo tener 2 dudas, asi que aprovechare para poner ambas en este post esperando lograr resolverlas.

Mis dudas principales son acerca del modo de registro del Checkbox, la duda principal es ¿Como puedo grabar un checkbox en una BD?, tengo por decir un campo, del cual tiene varias opciones, por decir tengo el campo tipo de solicitud con las opciones, ventanilla, telefono, correo y fax, mi cuestion es, si selecciona una de las casillas digamos correo, como puedo saber yo cual fue la que se selecciono para grabarla en la BD, otra preunta es, ¿de que tipo debe ser el campo de la base de datos que graba el checkbox?.

tengo varios campos de esa manera y no encuentro como grabarlos :S
  #2 (permalink)  
Antiguo 14/12/2010, 01:15
 
Fecha de Ingreso: junio-2009
Mensajes: 75
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Dudas acerca del modo del registro del checkbox en una BD

¿Nada?, acaso mis dudas son muy tontas? xD :S
  #3 (permalink)  
Antiguo 14/12/2010, 03:47
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Dudas acerca del modo del registro del checkbox en una BD

No necesariamente tontas, pero publicaste el post entre las 02:00 AM hora de Argentina, y las 23:00 Hora de México... (si no me equivoco).
La gente también necesita dormir.

Bien, la respuesta en realidad es simple: Un CheckBox no es un tipo de dato, por lo que no existe un tipo de columna para almacenarlo. Se trata de un objeto visual de una página web o formulario, que posee estados; luego, es el valor del estado o value lo que tienes que guardar, y normalmente eso significa que es un booleano: Verdadero (True o 1) y Falso (False o 0).

Entonces hay en MySQL tres tipos de datos útiles: BIT, BOOL o TINYINT UNSIGNED.
Simplemente guardas un uno (1) si el estado del CheckBox es Checked, y cero (0) si no lo es.

El resto se resuelve en el formulario cuando cargas el dato desde la base.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #4 (permalink)  
Antiguo 14/12/2010, 07:27
 
Fecha de Ingreso: diciembre-2010
Mensajes: 61
Antigüedad: 13 años, 3 meses
Puntos: 4
Respuesta: Dudas acerca del modo del registro del checkbox en una BD

También en caso de que te refieras a que sólo quieres guardar unos datos especificos definidos en el cheackbox puedes utilizar el tipo de dato enum

Tipo_de_dato Enum ('S','N') sólo podrás escribir en la base de datos S o N ojo "s" o "n" no valdría.

Otro ejemplo

Valores_permitidos enum ('CASA','PERR0',NOPUEDOR')
  #5 (permalink)  
Antiguo 14/12/2010, 14:15
 
Fecha de Ingreso: junio-2009
Mensajes: 75
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Dudas acerca del modo del registro del checkbox en una BD

Hola,

Gracías por la respuesta, olvide lo de la zona horaria aunque no quise dar ah entender que a fuerzas deseaba una respuesta, agradezco la atención

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Bien, la respuesta en realidad es simple: Un CheckBox no es un tipo de dato, por lo que no existe un tipo de columna para almacenarlo. Se trata de un objeto visual de una página web o formulario, que posee estados; luego, es el valor del estado o value lo que tienes que guardar, y normalmente eso significa que es un booleano: Verdadero (True o 1) y Falso (False o 0).

Entonces hay en MySQL tres tipos de datos útiles: BIT, BOOL o TINYINT UNSIGNED.
Simplemente guardas un uno (1) si el estado del CheckBox es Checked, y cero (0) si no lo es.

.
Eso significa que si tengo por ejemplo

Código HTML:
Ver original
  1. <input name="serv" type="checkbox" value="servicio"/> Servicio

¿lo que guardare sera el valor del "value" osea "servicio" al capturar en e post?

Código PHP:
Ver original
  1. $_POST{serv};

y ya cuestion de poner en el INSERT la variable 'serv' guardando asi el value "servicio" estoy en lo correcto?
  #6 (permalink)  
Antiguo 14/12/2010, 16:01
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Dudas acerca del modo del registro del checkbox en una BD

Mas o menos así.
La cosa depende un poco de qué lenguaje y qué tipo de formularios se usan, pero en esencia lo que guardas es si el CheckBox está chequeado o no. El valor asuma dentro del código no es realmente importante, porque se resuelve en la aplicación.
Puede resultar un poco difícil de ver al principio, pero la idea es que cuando guaras el dato en la base debe ser lo más simple posible, y en realidad lo único que importa es el estado del control, no lo que eso signifique, ya que en realidad no es el valor "servicio" lo que vas a usar, sino si ese checkbox debe visualizarse seleccionado o no.
¿Se entiende la diferencia?
La idea es que si en ese caso, el que esté seleccionado luego lo usas como "servicio", "cola", "perro"o "activar", dependerá de lo que tu form haga y de lo que programes en ese caso, pero cuando analizas datos, lo que vale es el principio de ahorro: ¿Para que almacenar "servicio", si programáticamente poner 0 ó 1 es suficiente y ocupa menos espacio?

Espero que se entienda un poco.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #7 (permalink)  
Antiguo 16/12/2010, 12:33
 
Fecha de Ingreso: junio-2009
Mensajes: 75
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Dudas acerca del modo del registro del checkbox en una BD

El problema ya fue resuelto, no habia podido comentarlo gracias, si era lo del value tal como lo habia pensado y me habian dicho jeje, resulto ser bastante sencillo realmente me imaginaba algo mas complicado creo que solo me complico la vida.

Saludos y gracias a los que respondieron.

Etiquetas: bd, checkbox, modo, registro
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 05:32.