Foros del Web » Programando para Internet » PHP »

Bucle php que hace consultas

Estas en el tema de Bucle php que hace consultas en el foro de PHP en Foros del Web. Hola a todos. utilizo un bucle php que hace una subconsulta por cada resultado de la primera consulta, funciona a la perfección pero creo que ...
  #1 (permalink)  
Antiguo 26/05/2010, 03:45
 
Fecha de Ingreso: marzo-2003
Ubicación: Barcelona
Mensajes: 107
Antigüedad: 21 años, 1 mes
Puntos: 0
Bucle php que hace consultas

Hola a todos. utilizo un bucle php que hace una subconsulta por cada resultado de la primera consulta, funciona a la perfección pero creo que puede gastar mucho recurso de maquina. Existe alguna forma mejor de hacerlo directamente con SQL. Gracias.


Código PHP:
if ($_POST['accion'] == "cargarGrupos") {
   
$query_r_grupos sprintf("SELECT * FROM grupos_paginas ORDER BY posicion_grupo ASC");
   
$r_grupos mysql_query($query_r_grupos$conexionBD);
   
$row_r_grupos mysql_fetch_assoc($r_grupos);
   
$totalRows_r_grupos mysql_num_rows($r_grupos);
   if (!
$r_grupos) {
      echo 
"&resultado=0&mensaje=" mysql_error() . "&";
   }
   else {
      echo 
"&resultado=1&cantidadGrupos=".$totalRows_r_grupos;
      
$count=0;
      do {
         echo 
"&idGrupo" $count "=" $row_r_grupos['id_grupo'];
         echo 
"&nombreGrupo" $count "=" $row_r_grupos['nombre_grupo'];
         echo 
"&idPaginaGrupo" $count "=" $row_r_grupos['id_pagina_grupo'];
         echo 
"&posicionGrupo" $count "=" $row_r_grupos['posicion_grupo'];
         
         
$query_r_paginas sprintf("SELECT * FROM subsecciones, paginas WHERE subsecciones.id_grupo_sub=%s AND subsecciones.pagina_sub = paginas.id_pag ORDER BY subsecciones.posicion_sub ASC",
                             
GetSQLValueString($row_r_grupos['id_grupo'], "int"));
         
$r_paginas mysql_query($query_r_paginas$conexionBD);
         
$row_r_paginas mysql_fetch_assoc($r_paginas);
         
$totalRows_r_paginas mysql_num_rows($r_paginas);
         if (!
$r_paginas) {
            echo 
"&resultado=0&mensaje=" mysql_error() . "&";
            exit;
         }
         else {
            echo 
"&cantidadPaginas" $count "=" $totalRows_r_paginas;
            
$count2=0;
            
            do {
               echo 
"&idPagina" $count "_" $count2 "=" $row_r_paginas['pagina_sub'];
               echo 
"&seccionPagina" $count "_" $count2 "=" $row_r_paginas['seccion_pag'];
               echo 
"&tituloPagina" $count "_" $count2 "=" $row_r_paginas['titulo_pag'];
               echo 
"&link" $count "_" $count2 "=" $row_r_paginas['link_pag'];
               
$count2++;
            } while (
$row_r_paginas mysql_fetch_assoc($r_paginas));
         }
         
mysql_free_result($r_paginas);
         
$count++;
      } while (
$row_r_grupos mysql_fetch_assoc($r_grupos));
   }
   
mysql_free_result($r_grupos);

  #2 (permalink)  
Antiguo 26/05/2010, 05:05
 
Fecha de Ingreso: diciembre-2009
Mensajes: 612
Antigüedad: 14 años, 4 meses
Puntos: 16
Respuesta: Bucle php que hace consultas

El autor real aparece en el quote, no obstante, pertenece a nuestro compañero GatorV con fecha de 20 de julio de 2.007

Cita:
Iniciado por GatorV Ver Mensaje
Deberías de leer acerca de Joins es mas facil asi relacionar tus tablas ej:
Código:
SELECT t1.*, t2.*, t3.* FROM `tabla1` AS t1 INNER JOIN `tabla2` AS t2 ON t1.col1=t2.col-a INNER JOIN `tabla3` AS t3 ON t1.col2=t3.col-b
Saludos.
__________________
Tengo una pregunta que a veces me tortura... ¿El loco soy yo o los locos son los demás?

Etiquetas: bucle
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 17:40.