Foros del Web » Creando para Internet » Diseño web »

Checkbox Dinámicos y Bases de Datos

Estas en el tema de Checkbox Dinámicos y Bases de Datos en el foro de Diseño web en Foros del Web. Tenia una duda sobre como implementar lo que titula este POST, encontré un viejo post en este foro que data de Diciembre 2003 y no ...
  #1 (permalink)  
Antiguo 13/12/2008, 20:04
 
Fecha de Ingreso: noviembre-2008
Mensajes: 1
Antigüedad: 15 años, 4 meses
Puntos: 0
Checkbox Dinámicos y Bases de Datos

Tenia una duda sobre como implementar lo que titula este POST, encontré un viejo post en este foro que data de Diciembre 2003 y no fue respondido lo suficiente, por ello respondo lo que a mi parecer es la solución. aH! intente responder desde el mismo Post pero fué cerrado justo cuando envié la nota:

Han pasado unos cuantos años, sin embargo me surgió la misma duda, pensando y pensando hallé la forma, seguro no es una forma muy optima, pero funciona, no voy a mostrar código porque aun no lo he hecho, pero puedo dar la explicación de lo que hay que hacer:
Escenario:
Se requiere que en un formulario de registro de usuarios a un portal se muestre un conjunto de checkBox que hacen referencia a tipos de empresa a la cual pertenece el usuario, este puede seleccionar varios tipos de empresa, pero resulta que los Tipos de empresa son dinámicos porque en el requerimiento del sistema está planteado poder agregar nuevos tipos a mostrar en el formulario, poder editarlos y por supuesto eliminarlos. Esto significa que los tipos de Empresa no serán campos de la Tabla Usuario en la BD. Sino que los Tipos de empresa serán una tabla llamada "tipos_empresas" como se plantea una relación muchos a muchos (uno o mas usuarios pueden tener uno o mas tipos de empresa) deberemos hacer una tercera tabla Relacional que deberá tener al menos tres campos: el ID propio de la nueva tabla que llamamos "tipos_empresas_usuarios", ademas del ID del Usuario y el ID del tipo de Empresa. Bien, la lógica del programa indica que debemos consultar la tabla tipos_empresas para imprimir los registros como checkbox cada vez que mostremos el formulario de Registro, luego cuando el usuario guarda sus datos o finaliza su inscripción, los CHECKBOX seleccionados (se guardan en un array) se almacenan los mismo en la tabla relacional "tipos_empresas_usuarios". ¿Ningun problema verdad? ajá, pero la duda mia y la que creo era de quien abrió el post es ¿como hago para mostrar en un formulario de edición o actualización de datos del usuario todos los tipos de empresa que existen y que en estos se muestren seleccionados aquellos que el usuario seleccionó al momento de registrarse? (para que el usuario tenga chance seleccionar otros tipos mas o des-seleccionar otros tantos), ¿Como hacerlo si los datos están en tablas diferentes? Lo que a mi se me ocurre es sencillo, muchos lo habrán pensado, pero como siempre a veces tenemos lapsus mentus. Pues, antes de imprimir los checkbox de tipos_empresas debemos también recuperar los ID's de tipos_empresas_usuarios que pertenezcan al usuario actual y hacer una validación, de modo que aquellos ID's de "tipos_empresas" que estén en la tabla "tipos_empresas_usuarios" formando parte de los registros de un usuario en especifico pues deberán imprimirse como checkbox SELECCIONADOS. Ahora bien, para actualizar los registros, es decir una vez el usuario haga click en Guardar Cambios deberemos recoger en un array a todos los checkbox seleccionados en el formulario, luego proceder a crear una transacción en la BD eliminar todos los registros de la tabla "tipos_empresas_usuarios" ID de usuario sea igual ai ID del usuario actual; luego procedemos a insertar en la tabla "tipos_empresas_usuarios" los datos nuevos del array guardado asociándolos al ID del usuario Actual. Luego Finalizamos la transacción.
Espero sirva de ayuda a muchos que la buscan en la red. Es sencillo pero cuando somo nuevos no tenemos una lógica profunda. Siento que esta forma de hacer las cosas en muy engorrosa, seguro existe una forma mas eficiente y breve de hacer las cosas, por favor si alguien la sabe comentela, se agradecerá muchísimo.
  #2 (permalink)  
Antiguo 13/12/2008, 20:20
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Checkbox Dinámicos y Bases de Datos

Tema trasladado a Web General.

Lee la función de la sección de Bases de Datos: http://www.forosdelweb.com/f21/funci...-datos-413499/
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 03:05.