Foros del Web » Programando para Internet » PHP »

Consulta bd dentro de un while

Estas en el tema de Consulta bd dentro de un while en el foro de PHP en Foros del Web. Hola a todos, Hago una consulta a la BD y con un While imprimo los resultados. Dentro de este while quiero hacer una consulta a ...
  #1 (permalink)  
Antiguo 05/06/2008, 14:24
Avatar de da2
da2
 
Fecha de Ingreso: abril-2003
Ubicación: Catalunya
Mensajes: 239
Antigüedad: 21 años
Puntos: 0
Consulta bd dentro de un while

Hola a todos,

Hago una consulta a la BD y con un While imprimo los resultados. Dentro de este while quiero hacer una consulta a otra tabla de la BD con el resultado obtenido en la variable "$categoryid" (no si debo hacerlo como lo hago).
Código:
$query="select * from products  WHERE activo =\"1\" AND oferta=\"si\"";
$result=mysql_query($query);
while ($row = mysql_fetch_array($result))
{
	// Miro que la categoria este activa
	$categoryid = $row['categoryid'];
	$querycat="select * from category WHERE $categoryid =\"$categoryid\"";
	$resultcat=mysql_query($querycat);
	$rowcat = mysql_fetch_array($resultcat);
	$activocat = $rowcat['activo'];
	echo $categoryid;
	echo $activocat;
        ....
        .....
$categoryid (de la primera consulta) va cambiando cada vez correctamente.
$activocat (de la sgunda consulta) se queda con el primer valor que se le asigana.

Alguna idea de por que?
  #2 (permalink)  
Antiguo 05/06/2008, 14:27
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: Consulta bd dentro de un while

haz otro while dentro del primero, despues de la segunda consulta
  #3 (permalink)  
Antiguo 05/06/2008, 14:34
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: Consulta bd dentro de un while

mas o menos asi

Código PHP:

$query
="select * from products  WHERE activo =\"1\" AND oferta=\"si\"";
$result=mysql_query($query);
while (
$row mysql_fetch_array($result))
{
    
// Miro que la categoria este activa
    
$categoryid $row['categoryid'];
    
$querycat="select * from category WHERE $categoryid =\"$categoryid\"";
    
$resultcat=mysql_query($querycat);
    while(
$rowcat mysql_fetch_array($resultcat)){
    
                       
$activocat $rowcat['activo'];
                       echo 
$activocat;

}

             
    echo 
$categoryid;
    

  #4 (permalink)  
Antiguo 05/06/2008, 14:50
Avatar de da2
da2
 
Fecha de Ingreso: abril-2003
Ubicación: Catalunya
Mensajes: 239
Antigüedad: 21 años
Puntos: 0
Respuesta: Consulta bd dentro de un while

Gracias por responder.

Pero esto no me imprimira en pantalla 25 resultados si por ejemplo tengo 5 entradas en la tabla products y 5 en la tabla category?
Yo lo que quiero es ver los productos que estan activos siempre y cuando la categoria este activa que es lo que creia que estaba hacieno yo en mi codigo.
  #5 (permalink)  
Antiguo 05/06/2008, 15:07
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: Consulta bd dentro de un while

eso ya es cuestion de tu query

Cita:
$querycat="select * from category WHERE $categoryid =\"$categoryid\"";
aqui solo le pasas el $categoryid

en productos el query es distinto, no se si hace lo que quieres, pero los parametros de activa o no se los pasas a los productos
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 23:02.