Buenas,
Estuve probando lo que me dijiste. Agregué la clase ultima en dos preguntas, ahora la secuencia es la siguiente
pregunta 1
pregunta 2
(dependiendo que selecciones se formulará la pregunta 3)
Respuesta 1,2 a la pregunta 2pregunta 3
pregunta 4
(ultima)
Respuesta 3,4 a la pregunta 2 pregunta 4
(ultima)
Dejo el código que consigo esto
Código PHP:
Ver original<?php
//session_start();
//EN EL ID DE CADA dl COLOCAMOS q- SEGUIDO POR EL NUMERO DE LA PREGUNTA, ESTO ES PARA SABER EN QUE PREGUNTA VAMOS
//CADA RESPUESTA SERA ALGO PARECIDO, TENDRA UN ID r- SEGUIDO POR EL NUMERO DE LA RESPUESTA
//LA CLASE QUE TIENE EL dl, SERA PARA INDICAR CUANTAS PREGUNTAS DEBEN SER SELECCIONADAS ANTES DE CONTINUAR
$num_pregunta=$_REQUEST['q']; // Recoge el número de la pregunta
$mis_respuestas[$num_pregunta]=$_REQUEST['r'];
$_SESSION['quiz'] ="hola";
$_SESSION['quiz'][$num_pregunta] = $_REQUEST['r']; // Guardo en la variable de sesión las respuestas
if ($_GET['q']==1){?>
<dl id="q-1" class="n[3]">
<dt>Pregunta <?php echo $num_pregunta ?> : <b>Selecciona 3 colores:</b></dt>
<dd id="r-1">Rojo</dd>
<dd id="r-2">Verde</dd>
<dd id="r-3">Azul</dd>
<dd id="r-4">Amarillo</dd>
<dd id="r-5">Negro</dd>
<dd id="r-6">Naranja</dd>
</dl>
<?php print_r($_POST['answers']); }elseif($_GET['q']==2) {?> <dl id="q-2" class="n[1]">
<dt>Pregunta <?php echo $num_pregunta ?> : <b>¿Qué lenguaje de programacion te gusta mas?</b></dt>
<dd id="r-1">JAVA</dd>
<dd id="r-2">PHP</dd>
<dd id="r-3">ASP</dd>
<dd id="r-4">C</dd>
</dl>
<p>DEBUG:
<?php print_r($_POST['answers']);?>Respuestas de la pregunta
<?php echo ($num_pregunta-1).' : '.$_SESSION['quiz'][$num_pregunta]?></p>
<?php
// En funcion de las respuestas anteriores se formula la siguiente pregunta...
}elseif(($_GET['q']==3)&&(($_GET['r']==1)||($_GET['r']==2))) {?>
<dl id="q-3" class="n[1]">
<dt>Pregunta <?php echo $num_pregunta ?> : <b>Relacionada con PHP y JAVA </b></dt>
<dd id="r-1">respuesta 1</dd>
<dd id="r-2">respuesta 2</dd>
<dd id="r-3">respuesta 3</dd>
<dd id="r-4">respuesta 4</dd>
</dl>
<p>DEBUG: Respuestas de la pregunta <? echo ($num_pregunta-1).' : '.$mis_respuestas[$num_pregunta]?></p>
<?php }elseif(($_GET['q']==3)&&(($_GET['r']==3)||($_GET['r']==4))) {?>
<dl id="q-3" class="n[1] ultima">
<dt>Pregunta <?php echo $num_pregunta ?> : <b>Relacionada con ASP y C >> </b></dt>
<dd id="r-1">respuesta 1</dd>
<dd id="r-2">respuesta 2</dd>
<dd id="r-3">respuesta 3</dd>
<dd id="r-4">respuesta 4</dd>
</dl>
<p>DEBUG: Respuestas de la pregunta <? echo ($num_pregunta-1).' : '.$mis_respuestas[$num_pregunta]?></p>
<?php }elseif($_GET['q']==4) {?>
<dl id="q-4" class="n[1] ultima">
<dt>Pregunta <?php echo $num_pregunta ?> : <b>¿Cuál es tu edad?</b></dt>
<dd id="r-1">menos de 18</dd>
<dd id="r-2">18-25</dd>
<dd id="r-3">26-40</dd>
<dd id="r-4">mas de 40</dd>
</dl>
<p>DEBUG: Respuestas de la pregunta <? echo ($num_pregunta-1).' : '.$mis_respuestas[$num_pregunta]?></p>
<?php }?>
Y luego he intentado aplicar el
hasClass() pero no me hace caso.
Código Javascript
:
Ver originalfunction loadQuestion(param){//CARGA LA SIGUIENTE PREGUNTA
if(question == 1){$('#prev').hide();}else{$('#prev').show();} // Esconde el boton atras en la primera pregunta
if ($('#cuestionario dl').hasClass('ultima')){ //Si detecta que es la ultima pregunta, muestra el boton finalizar en lugar de continuar
$('#next.button').hide();
$('#finaliza.button').show();
}
var r = (param)?(param.respuestas)?'&r='+param.respuestas:'':'';
$('#cuestionario').html('').load('preguntas.php?q='+(question)+r,(param)?param.callback:null);
}
También he intentado ver porque fallaba la
seleccionarRespuestas() pero no he sabido por donde meterle mano
¿Puedes ayudarme?
Muchas gracias de antemano