![]() |
ayuda con arrays y otros códigos para consulta a base de datos Tengo una encuesta, que puede tener varias preguntas y cada pregunta puede tener varias respuestas. Necesito que de acuerdo a un numero de id, el usuario visualice el grupo de preguntas y respuestas, y pueda responder a través de un formulario. Resulta que realizo esta consulta: select p.pregunta as pregunta, r.respuesta as respuesta from encuestas_modelospreguntas p inner join encuestas_modelosrespuestas r on p.id=r.id_pregunta where p.id_modelo='$id' y me devuelve, por cada respuesta de cada pregunta, el par de pregunta y respuesta. o sea: pregunta: playa o montaña? respuestas: a) playa b) montaña la consulta me devuelte: playa o montaña? playa playa o montaña? montaña No sé de qué manera realizar un array, con un while supongo, que por cada pregunta me dé todas las respuestas, y luego pase a la siguiente pregunta, y así. ¿alquien quiere o puede ayudarme? gracias |
Respuesta: ayuda con arrays y otros códigos para consulta a base de datos Tema trasladado a Bases de Datos. |
Respuesta: ayuda con arrays y otros códigos para consulta a base de datos La mayor parte de las soluciones pasan, a mi juicio, por programación: 1) mediante if que controle una variable $acumulador donde cargas en el bucle el valor de la pregunta y que al ser distinta de la anterior hace que el bucle sólo muestre la respuesta: ejemplo $acumulador = ""; mostrar hasta el final todos los datos recogidos en la consulta if contenidopregunta <> $acumulador {muestra contenidopregunta / muestracontenidorespuesta / $acumulador = contenidopregunta} else {muestra contenidorespuesta} y eso hasta el final 2) cargando los datos en array y trabajando sobre ellos, haciendo algo parecido con un acumulador y recorriendo el array... 3) haciendo primero una selección de los datos de pregunta, y luego al iterar con un while dentro de otro while lanzar otra consulta que busque según el id de la pregunta las respuestas y las muestre. 4) hacer una consulta con group_concat de respuestas y agrupando por pregunta, y luego, mediante un explode en programación, cargar las respuestas en un array y mostrarlas. Creo que existe alguna más, pero debes decidir por alguna y pedir ayuda en el foro correspondiente... |
Respuesta: ayuda con arrays y otros códigos para consulta a base de datos Jurena: estaba segurísimo de que no podía anidar una consulta dentro de otra con un while... no sé por qué. finalmente, hice eso, y el resultado fue: Código PHP: |
Respuesta: ayuda con arrays y otros códigos para consulta a base de datos Me alegro de que te funcionara la solución 3, Ariel, pero ese código, con razón, nos lo van a quitar los moderadores de este foro: recuerda que este no es el sitio. |
Respuesta: ayuda con arrays y otros códigos para consulta a base de datos es que yo iniciè esto en el foro de php! me lo mudó el moderador GatorV. No sé cómo se muda todo el tema. Esta misma solución estoy aplicando para la otra consulta que te hice días atrás. Gracias de nuevo Jurena. un saludo, |
Respuesta: ayuda con arrays y otros códigos para consulta a base de datos Como verás, viene a ser lo que te dijo Quimfv en el otro post del que me hablas. Seguramente alguna de sus propuestas sea más eficiente. Pon a prueba alguna de ellas, pues es cierto que esta requiere más consultas a la base: una para las preguntas y una por cada pregunta. Por lo demás, es cierto que el post vino de otro foro, pero aún así conviene ajustarse a las normas y no usar código de programación en este. Enhorabuena, Ariel. |
Respuesta: ayuda con arrays y otros códigos para consulta a base de datos Entendido. ¿Tenemos alguna forma de mudar todo este código de php que puse acá, al foro correspondiente? ¿O eso corresponde a los moderadores? |
| La zona horaria es GMT -6. Ahora son las 22:33. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.