lenguage/basededatos/programa PHP/Mysql/Dreamweaver
Contextualizo el preoblema; necesito un cuestionario que se divida en diferentes secciónes, y que cuente con diferentes tipos de pregunta, es decir, de opción, de verificacíon, de menu o abiertas esta información sera colocada por medio de un administrador esto hace que se puedan ingresar nuevas preguntas con sus opciones haciendo que el numero de tanto de preguntas como de opciones sea variable para cada caso,
Una parte de la programación la hago con dreamweaver, otra la hago yo misma.
Como empecé?, bien hice 3 tablas para la parte del cuestionario, una para las preguntas, otra para las opciones y otra para las respuestas.... hice el administrador para la inserción de preguntas y todo salio bien.
En que voy? en la presentacíon del cuestionario, para ello, hice una consulta con un JOIN para acoplar la tabla de opciones y la de preguntas,
para mostrar el tipo de respuesta adecuado(opción verificación...) utilicé un if, y repetí la región con un do while para mostrar todas las preguntas y respuestas.
Cual es el problema? que la pregunta se repite por cada opción.
Que he intentado? intenté usar una consulta exlusiva para las preguntas dio el mismo resultado, intente hacer un do while para las preguntas, otro para las respuestas y uno para todo, pero no me reconocia el completo, intenté usar un continue o un break pero, no supe usarlo bien ya que no se como especificar una variable de cuantas opciones son antes de la siguiente pregunta ya que este numero varía de una pregunta a otra.
Lo ideal es que reconociera el cambio de la pregunta en la tabla opciones y sacara la pregunta siguiente, espero estar siendo clara.
Voy a lo más especifico:
Las tablas estan compuestas por los siguientes campos
Preguntas:
p_id (esta es la que une las dos tablas autoincrement...)
idioma
pregunta
tipo
etapa
Cuestionario:
id
p_id
opciones
aqui va el codigo de la página que muestra las preguntas
Como ya saben dreamweaver genera mucho codigo asi que les paso solo lo que tiene que ver con el problema
Código PHP:
<?php require_once('../Connections/hola.php'); ?>
mysql_select_db($database_hola, $hola);
$query_Recordset2 = "SELECT * FROM Preguntas JOIN cuestionario ON Preguntas.p_id=cuestionario.p_id WHERE Preguntas.idioma='espanol' AND Preguntas.etapa='preambulo'";
$Recordset2 = mysql_query($query_Recordset2, $hola) or die(mysql_error());
$row_Recordset2 = mysql_fetch_assoc($Recordset2);
$totalRows_Recordset2 = mysql_num_rows($Recordset2);
mysql_select_db($database_hola, $hola);
$query_Recordset3 = "SELECT * FROM Preguntas WHERE Preguntas.idioma='espanol' AND Preguntas.etapa='preambulo'";
$Recordset3 = mysql_query($query_Recordset3, $hola) or die(mysql_error());
$row_Recordset3 = mysql_fetch_assoc($Recordset3);
$totalRows_Recordset3 = mysql_num_rows($Recordset3);
?>
<table>
<tr><td></td></tr>
<tr>
<td width="612" style="border:none; background-color:">
<form method="post" name="form1" id="form1">
<table>
<?php do { ?>
<tr>
<td><?php echo $row_Recordset3['pregunta']; ?></td>
</tr>
<tr>
<td>
<?
$tipo =$row_Recordset2['tipo'];
$opcion ='opcion';
$verificacion='verificacion';
$menu='menu';
if ($tipo = $opcion){
?>
<input <?php if (!(strcmp($row_Recordset2['opciones'],""))) {echo "checked=\"checked\"";} ?>
name="opcion" type="radio" value="<?php echo $row_Recordset2['opciones']; ?>" />
<? } elseif($tipo = $menu) {
?>
<select name="opcion">
<?php do { ?>
<option value="<?php echo $row_Recordset2['opciones']?>"><?php echo $row_Recordset2['opciones']?></option>
<?php } while ($row_Recordset2 = mysql_fetch_assoc($Recordset2));
$rows = mysql_num_rows($Recordset2);
if($rows > 0) {
mysql_data_seek($Recordset2, 0);
$row_Recordset2 = mysql_fetch_assoc($Recordset2);
}
?> </select>
<? } elseif($tipo = $verificación) { ?>
<input <?php if (!(strcmp($row_Recordset2['opciones'],$row_Recordset2['opciones']))) {echo "checked=\"checked\"";} ?> name="opcion" type="checkbox" value="<? $row_Recordset2['opciones']; ?>" />
<? } else{ ?>
no hay un tipo de pregunta especificado
<? } ?>
<?php echo $row_Recordset2['opciones']; ?></td></tr>
<?php } while ($row_Recordset2 = mysql_fetch_assoc($Recordset2)); ?>
</table>
</form>
</td>
</tr>
</table>
Talves dije demasiado para la pregunta y sea muy facil de responder, pero ha sido un dolor de cabeza asi que para no generar dudas escribi lo mas detalladamente el problema
Muchas Gracias por la atención les agradesco cualquier aporte