Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Bucles anidados con consultas

Estas en el tema de Bucles anidados con consultas en el foro de Mysql en Foros del Web. Bucles anidados. Tengo un codigo. Son dos bulces uno dentro del otro y lo que pretendo es comparar los elementos devueltos por la primera consulta ...
  #1 (permalink)  
Antiguo 23/12/2009, 02:14
 
Fecha de Ingreso: diciembre-2009
Mensajes: 3
Antigüedad: 14 años, 4 meses
Puntos: 0
Bucles anidados con consultas

Bucles anidados. Tengo un codigo. Son dos bulces uno dentro del otro y lo que pretendo es comparar los elementos devueltos por la primera consulta con cadauno de los elementos de la segunda. El problema es que el fetch_row de la segunda solo se hace una vez. Ahora estoy haciendo unos echos para saber donde está mal.
Alguien tiene alguna idea?
Aqui teneis el codigo
$select_departaments = "select * from departament";
$result_departaments = mysql_query($select_departaments, $link);
$select_id_departaments = "select * from act_depart where id_act='" . $id_activitat . "'";
$result_id_departaments = mysql_query($select_id_departaments, $link);
while ($row = mysql_fetch_array($result_departaments)){
echo "a" . $row['id_dep'];
while ($row1 = mysql_fetch_array($result_id_departaments)){
echo "b".$row1['id_dep'];

}
}


I aqui lo que imprime

a1b1b3a2a3a4a5a6a7a8a9a10a11a12a13a14
Como veis solo se imprime la b una vez despues de la primera iteracion del primer bucle

Muchas gracias
  #2 (permalink)  
Antiguo 23/12/2009, 02:58
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Bucles anidados con consultas

sergitome,
creo que deberías decirnos qué tienes en las dos tablas, cómo los relacionas y qué quieres sacar. Aquí sólo podremos darte una solucion SQL, y tal vez no necesitarás iterar en un bucle con programación. Si no pudiéramos ayudarte, tendrías que pedir ayuda en el foro PHP. Pero antes dinos qué datos tienes y qué quieres mostrar exactamente.
  #3 (permalink)  
Antiguo 23/12/2009, 03:12
 
Fecha de Ingreso: diciembre-2009
Mensajes: 3
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Bucles anidados con consultas

Dentro de la segunda tabla tengo los ids que se han seleccionado en una pagina anterior. Estos id tienen un nombre que esta almacenado en la primera tabla. Lo que quiero hacer es dibujar todos los registros de la primera tabla i si estan en la segunda, marcar un campo checkbox para que me salgan seleccionados al cargar la pagina. Por eso lo que hago es hacer un select de los que se me han seleccionado antes y otro para saber los qeu tengo que dibujar. Cuando los dibuje quiero comparar cada id de los que tengo que dibuajr para saber si tiene que estar seleccionado o no
  #4 (permalink)  
Antiguo 23/12/2009, 06:32
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Bucles anidados con consultas

Sin entrar en más detalles, que deberían darte en el foro PHP, te diré que la segunda consulta debes lanzarla dentro del primer while. Pide ayuda en ese foro PHP, porque, pienso, que es un problema que resolverás mejor allí. Aquí podríamos ofrecerte alguna otra solución SQL, con LEFT JOIN, pero tendrías que volver a programarla eliminando los NULL y dejando como encabezamiento sólo la primera vez que sale un departamento. Por lo que te recomiendo que pidas ayuda en el foro PHP.
Ya verás que te lo solucionan rápido.
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 02:04.