Desarrollo Web /

[PHP] array a partir de consulta mysql

Participa en el tema [PHP] array a partir de consulta mysql en el foro Desarrollo Web.
Tengo una encuesta, que puede tener varias preguntas y cada pregunta puede tener varias respuestas. ...

Buscar en este tema:
 
  •  
    #1 [PHP] array a partir de consulta mysql
    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
    +
     
    0
    Me gusta
     
    http://www.psicofxp.com/forums/desarrollo-web.264/761508-php-array-a-partir-consulta-mysql.html
    | Más
  • #2 Re: array a partir de consulta mysql

    Hola, lo que podes haces es:

    primero un select de las preguntas, y dentro del while que te trae esos resultados hacer un select de las respuestas cuyo id de pregunta sea el que estas viendo en ese momento.

    osea que tendrías 2 while uno donde loopeas cada pregunta y dentro de ese uno donde loopeas por cada respuesta que corresponda a la pregunta actual.

    sería algo como

    Código PHP:
     $sql="select * from pregunta";
    $result=mysql_query($sql);
    while(
    $preg mysql_fetch_array($result))
    {
        echo 
    $preg['pregunta'];
        
    $sql2="select * from respuesta where idpregunta=".$preg['idpregunta'];
        
    $result2=mysql_query($sql2);
        while(
    $resp mysql_fetch_array($result2))
        {
            echo 
    $resp['respuesta'];
        }

    Me gusta este mensaje
  • #3 Re: array a partir de consulta mysql

    Esto no seria mucho proceso?
    Me gusta este mensaje
  • #4 Re: array a partir de consulta mysql

    Pablo: excelente, muchas gracias.
    me quedó así:

    $sql="select * from encuestas_modelospreguntas";
    $result=mysql_query($sql);
    while($preg = mysql_fetch_array($result))
    {
    $pregunta=$preg['pregunta'];
    echo "<p>".$preg['pregunta']."</p>
    <select name=\"".$row['pregunta']."\">
    <option value=\"\" selected=\"selected\">Seleccione</option>";
    $sql2="select * from encuestas_modelosrespuestas where id_pregunta=".$preg['id'];
    $result2=mysql_query($sql2);
    while($resp = mysql_fetch_array($result2))
    {
    echo "<option value=\"$pregunta:".$resp['respuesta']."\" selected=\"selected\">".$resp['respuesta']."</option>
    ";
    }

    echo "</select>
    ";
    }


    Gracias, gracias, gracias.
    saludos,

    Alguna idea de cómo hago para tomar tooodas las variables que se generen dinámicamente al procesar el formulario? porque los nombres para cada select van a estar dados por las preguntas, y las preguntas varían en cada caso... ¿con qué método podría recolectarlas?
    Me gusta este mensaje


Estadísticas del tema
  • 3 RESPUESTAS
  • 2480 VISTAS
  • 3 USUARIOS RESPONDIERON
 
Ir arriba
Contacto | Acerca de | Ayuda | Términos Legales | privacidad | Pautas de convivencia | Mapa de los foros | TrabajÁ con nosotros
©2008 Psicofxp.com S.A. - Todos los derechos reservados
Certifica IAB