Stoy haciendo un formulario pero no le hallo la forma de cómo introducir un bucle para no estar escribiendo mucho código.
Les explico:
Tengo 3 tablas: cat_especialidad, cat_preguntas, cat_respuestas.
En dicho formulario deseo que se imprima todas las preguntas (del cat_preguntas) con sus 3 respuestas respectivamente (del cat_respuestas) y ke a su vez estas respuestas tenga su "input type" para elegir una de ellas y finalmente "votar".
El código que les mostraré a continuación hace el impreso en pantalla de las preguntas y respuestas de dicha especialidad, pero al momento de seleccionar una respuesta de cada pregunta lo hace una sola vez del total de preguntas ke son, o sea, de 3 preguntas con 9 respuestas solo me deja elegir una.
Código PHP:
<form action="voto-contabilidad.php" method="post">
<?
// Conectar con la base de datos
$connection = mysql_connect ("localhost")
or die ("No se puede conectar al servidor");
mysql_select_db ("base22feb")
or die ("No se puede seleccionar BD");
//consulta pa obtenet la id de la especialidad
$query_id_esp = mysql_query ("select * from cat_especialidad where especialidad='contabilidad'");
$r_id_esp = mysql_fetch_array($query_id_esp);
$id_esp = $r_id_esp[0];
//consulta pa obtener el id minimo de esa especialidad
$query_min_preg= mysql_query ("select min(id_preg) from cat_preg where tipo_esp = $id_esp");
$r_min_preg = mysql_fetch_array($query_min_preg);
$min_preg = $r_min_preg[0];
//consulta pa obtener el id máximo de esa especialidad
$query_max_preg= mysql_query ("select max(id_preg) from cat_preg where tipo_esp = $id_esp");
$r_max_preg = mysql_fetch_array($query_max_preg);
$max_preg = $r_max_preg[0];
//Aqui empiezo a hacer el bucle for pa que me imprima en pantalla todas las preguntas y respuestas de esa especialidad
for ($min_preg=$min_preg; $min_preg<=$max_preg; $min_preg++)
{
$result1=mysql_query("select * from cat_preg where id_preg=$min_preg AND tipo_esp=$id_esp", $connection);
$result2=mysql_query("select * from cat_resp where no_preg=$min_preg AND tipo_esp=$id_esp");
while ($row=mysql_fetch_array($result1))
{
echo '<tr><td>'.$row ["id_preg"].'</td>';
echo '<td>'.$row["preg"].'</td></tr>';
while ($row=mysql_fetch_array($result2))
{?>
<td><input type=radio name=RespPreg1 value=a><?=$row['resp1'];?>
</td>
<tr>
<td></td>
<td><input type=radio name=RespPreg1 value=b><?=$row['resp2'];?></td></tr>
<tr><td></td>
<td><input type=radio name=RespPreg1 value=c><?=$row['resp3'];?></td></tr>
<tr align=left>
<td height=20 colspan=2>
<?
}
}
}
?>
<tr align=left>
<td height=20 colspan=2>
<div align="center">
<INPUT TYPE="SUBMIT" NAME="enviar" VALUE="votar">
</div>
</FORM>
Al parecer es porque para todas las preguntas y respuestas toma el mismo "name" con valor a "RespPreg1" entonces mi duda es como meter otro bucle para que el valor del "name" incremente.por ejemplo ahora que se llama "RespPreg2" para la siguiente pregunta. Eso se puede?
Y si no, alguna idea o tips para que pueda hacerlo de mejor manera.
Espero me haya explicado bien.
GRacias de antemano
![de acuerdo](http://static.forosdelweb.com/fdwtheme/images/smilies/dedosarriba.png)
Saludos!!
![sonriente](http://static.forosdelweb.com/fdwtheme/images/smilies/smile.png)