cuando intento hacer varias consultas anidadas solo me funciona la primera, por ejemplo en este caso no me sale nada ke este por debajo del segundo while, supongo ke es porke el "puntero" ke indica las posiciones esta siendo usado por el primer bucle while.
Como arreglar esto para ke visualice un campo del resultado de una consulta y otro campo del resultado de otra consulta de otra tabla distinta.
Código PHP:
<?
$con="SELECT * FROM test where codtest='$codigo'";
$resultado=mysql_query($con, conectar());
while($fila=mysql_fetch_row($resultado)){
for($i=0;$i<$fila[3];$i++){
$con2="select * from preguntas where codtest='$codigo' and numpreg='$fila[3]'";
$resultado2=mysql_query($con2, conectar());
while($fila2=mysql_fetch_row($resultado2)){
echo $fila[0]."<br>".$fila2[1];
}
}
}
mysql_free_result($resultado);?>
recurro a esta solucion ya que si intento hacer todo en una sola consulta con cruce de tablas no funciona, este es el caso:
Código PHP:
$con="SELECT test.codtest, preguntas.codtest, opciones.codtest FROM test, preguntas, opciones
where test.codtest='$codigo' and preguntas.numpreg='$i' and test.codtest=preguntas.codtest
and test.codtest=opciones.codtest";
$resultado=mysql_query($con, conectar());
while($fila=mysql_fetch_row($resultado)){
echo $fila[0];
}
tampoco me funcionan expresiones del tipo select t.* from tabla t where.... que en cualquier gestor de bases de datos funciona. Supongo que fallo en algo.
Bueno espero que me podais ayudar.
Saludos