Foros del Web » Programando para Internet » PHP »

Varias consultas anidadas

Estas en el tema de Varias consultas anidadas en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 03/03/2003, 16:27
 
Fecha de Ingreso: junio-2002
Ubicación: España
Mensajes: 348
Antigüedad: 15 años, 6 meses
Puntos: 8
Varias consultas anidadas

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($conconectar());
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($con2conectar());
        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($conconectar());
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
  #2 (permalink)  
Antiguo 04/03/2003, 15:18
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 6 meses
Puntos: 16
Hola,

Cuando dices que al cruzar las tablas no te funciona,¿quieres decir que te da error? Si es asi, ¿que error te da MySQL? Porque usas mysql_error():
Código PHP:
if (!$resultado) {
  echo 
"Consulta: $con<br>Mysql dice:".mysql_error();
  exit;

Suerte.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:38.