Buen día a todos y feliz día de las madres a quienes lo estén festejando.
Estoy dando mis primerísimos pasos en PHP / MySQL y como es lógico encuentro la mar de dificultades, aunque siempre ustedes han sido material referencial y de gran ayuda!
La consulta es concreta y allí va: se trata de una página web para una encuesta, compleja en cuanto a cantidad de tablas y relaciones, en la que en muchos momentos hay decisiones en cuanto a número de registros a generar / guardar.
Por ejemplo, la cantidad de personas que habitan en un hogar, y la descripción en detalle de cada una de las personas para dicho hogar. O sea, si hay 5 personas en un hogar determinado, se deberán generar cinco registros, uno por persona para dicho hogar, en la tabla de personas con el mismo ID de hogar y un ID de persona para cada uno.
Mi primera aproximación fue hacer un div contenedor con una cantidad limitada de divs interna con la información de cada persona. Así, si el encuestador elige por ejemplo 3, se mostrarían (estando previamente ocultos) 3 divs similares uno al lado del otro con los campos a ser completados. ¿Se entiende hasta aquí?
Los problemas de esto son múltiples: primero los nombres de los campos contenedores de datos deberán ser diferentes por fuerza, lo que hace compleja la carga en la tabla. Segundo, la cantidad de personas se ve limitada por hardcode, lo que hace además poco flexible para mantenimiento cualquier cosa, no solo este proyecto. Tercero... ni se me ocurre, pero debe haber muchísimas más cosas.
Entonces me dije: ¿por qué no usar una ventana pop up para cargar los datos de las personas? Esto me daría un único nombre de contenedor para cada dato a cargar, y evito de paso tener que usar un hardcode, así podría haber en teoría infinitas personas en un hogar, y objetivo cumplido.
El tema es que me encuentro con mi falta de conocimientos: vi y creo haber entendido cómo se abre una ventana con muchos ejemplos, pero no he visto cómo hacer para que se haga N veces, tantas como el encuestador en este caso haya invocado, y que en todas se mantenga el mismo ID de hogar (supongo que con algun campo oculto se puede hacer eso). En otras palabras, si el encuestador escribe 5 y presiona el botón de cargar o como se le llame, se debería abrir una ventana pop up para la carga de la primera persona, indicando que se trata de la primera persona y no permitiendo que se abandone hasta que se haya completado la carga de los datos obligatorios y se hayan grabado en la tabla respectiva, y cuando esto suceda deberia abrirse la misma ventana pero indicando que se trata de la persona siguiente (¿una variable incremental?), y así hasta alcanzar el valor solicitado por el encuestador.
¿Existen formas de hacer esto? ¿Cuál es la mejor opción al trabajar con múltiples datos (en el sentido visto anteriormente de múltiples registros hijos para un mismo ID padre) sin tener que limitar a quien hace uso de la herramienta?
Desde ya agradezco toda colaboración y mil millones de disculpas por ser tan primerizo en todo este enorme mundo web!!!
Saludos,
Alejandro