Foros del Web » Programando para Internet » PHP »

como hacer bucle para consulta en bd?

Estas en el tema de como hacer bucle para consulta en bd? en el foro de PHP en Foros del Web. hola estoy armando un script para tomar las categorias de una bd y asi poder armar un menu para un mod q estoy armando basado ...
  #1 (permalink)  
Antiguo 19/02/2008, 06:24
p2pdownloading
Invitado
 
Mensajes: n/a
Puntos:
como hacer bucle para consulta en bd?

hola estoy armando un script para tomar las categorias de una bd y asi poder armar un menu para un mod q estoy armando basado en el fmdeluxe

este escript funciona, lo quepasa es que me toma solo la primera categoria
necesitaria hacer un bucle para que siga tomando el resto, como hago esto?

Código PHP:
<?php


$cID 
'0';
    
  
 
$tr_sql mysql_query("SELECT * FROM ".DB_PREFIX."templates WHERE tID = '".$theme."' && tmName = 'cat_list'");
    
$tr=mysql_fetch_array($tr_sql);
    
$tableRow=$tr["template"];

    
$sql mysql_query("SELECT * FROM ".DB_PREFIX."categories WHERE cParent = '".$cID."' ORDER BY cOrder ASC");



        while(
$r=mysql_fetch_array($sql))
{
    
$cat_ID=$r["cID"];
    
$cName=$r["cName"];
    
$cDesc=$r["cDesc"];
        
    
                
$cat_row str_replace("{php=cat_id}"$cat_ID$tableRow);
    
$cat_row str_replace("{php=cat_name}"$cName$cat_row);
    
$cat_row str_replace("{php=cat_desc}"$cDesc$cat_row);


}    





        echo 
$cat_row;
        
?>
  #2 (permalink)  
Antiguo 19/02/2008, 07:02
Avatar de popobcn
Moderador
 
Fecha de Ingreso: noviembre-2006
Ubicación: Cerdanyola del Vallès
Mensajes: 3.892
Antigüedad: 17 años, 5 meses
Puntos: 1142
Re: como hacer bucle para consulta en bd?

Buenas

Creo que el problema lo tienes en esta parte del código:

Código PHP:
<?php
while($r=mysql_fetch_array($sql)) 

    
$cat_ID=$r["cID"]; 
    
$cName=$r["cName"]; 
    
$cDesc=$r["cDesc"]; 
         
    
$cat_row str_replace("{php=cat_id}"$cat_ID$tableRow); 
    
$cat_row str_replace("{php=cat_name}"$cName$cat_row); 
    
$cat_row str_replace("{php=cat_desc}"$cDesc$cat_row); 


}     
?>
¿Realmente te esta cogiendo la PRIMERA categoria o te esta mostrando la ULTIMA?

Saludos :)
  #3 (permalink)  
Antiguo 19/02/2008, 08:34
p2pdownloading
Invitado
 
Mensajes: n/a
Puntos:
Re: como hacer bucle para consulta en bd?

hola!

mira viendo la base de datos con phpmyadmin, es la primera, pues el campo cID tiene valor 1, pero el codigo original que muestra las categorias la pone ultima como decis vos


cID cName cDesc cParent cOrder cPwd scCount dCount noFiles
1 OTROS P2P 0 1 -1 20 5
2 AZUREUS descargar azureus mods de azureus azureus vuze 0 0 0 0 5
3 EMULE 0 0 0 1 5
4 CLIENTES BITTORRENT 0 0 0 0 5
5 ARES 0 0 0 0 5


saludos
  #4 (permalink)  
Antiguo 19/02/2008, 09:02
Avatar de popobcn
Moderador
 
Fecha de Ingreso: noviembre-2006
Ubicación: Cerdanyola del Vallès
Mensajes: 3.892
Antigüedad: 17 años, 5 meses
Puntos: 1142
Re: como hacer bucle para consulta en bd?

Intenta hacer esto:

Código PHP:
<?php 
while($r=mysql_fetch_array($sql))  
{  
    
$cat_ID=$r["cID"];  
    
$cName=$r["cName"];  
    
$cDesc=$r["cDesc"];  
          
    
$cat_row str_replace("{php=cat_id}"$cat_ID$tableRow);  
    
$cat_row str_replace("{php=cat_name}"$cName$cat_row);  
    
$cat_row str_replace("{php=cat_desc}"$cDesc$cat_row);  
    echo 
$cat_row;
}      
?>
A ver que te aparece ;)

Saludos
  #5 (permalink)  
Antiguo 19/02/2008, 09:19
p2pdownloading
Invitado
 
Mensajes: n/a
Puntos:
Re: como hacer bucle para consulta en bd?

buenisimo ahora me aparecen todas! muchisimas gracias

hay alguna forma de ordenarlas?
  #6 (permalink)  
Antiguo 19/02/2008, 09:22
Avatar de popobcn
Moderador
 
Fecha de Ingreso: noviembre-2006
Ubicación: Cerdanyola del Vallès
Mensajes: 3.892
Antigüedad: 17 años, 5 meses
Puntos: 1142
Re: como hacer bucle para consulta en bd?

Cita:
Iniciado por p2pdownloading Ver Mensaje
buenisimo ahora me aparecen todas! muchisimas gracias

hay alguna forma de ordenarlas?

Habías dejado fuera del BUCLE la impresión de los resultados, motivo por el siempre te mostraba el último registro / o el primero. :)

Saludos
  #7 (permalink)  
Antiguo 19/02/2008, 09:50
p2pdownloading
Invitado
 
Mensajes: n/a
Puntos:
Re: como hacer bucle para consulta en bd?

te sigo molestando :D

ahora intente incluir las subcategorias debajo de cada categoria insertando un if a scCount q si vale 1 me dice q tiene subcategorias.. y ejecuto otro bucle dandole al identificador de las categorias el identificador de las subcategorias... pero no funcion, solo me arroja la primera categoria y su subcategoria


Código PHP:
        while($r=mysql_fetch_array($sql))
{        
      

    
$cat_ID=$r["cID"];
    
$cName=$r["cName"];
    
$cDesc=$r["cDesc"];
        
$scCount=$r["scCount"];
        
        
$cat_row str_replace("{php=cat_id}"$cat_ID$tableRow);
    
$cat_row str_replace("{php=cat_name}"$cName$cat_row);
    
$cat_row str_replace("{php=cat_desc}"$cDesc$cat_row);

echo 
$cat_row;



if(
$scCount=='1')




$cID $cat_ID;


        
$tr_sql mysql_query("SELECT * FROM ".DB_PREFIX."templates WHERE tID = '".$theme."' && tmName = 'cat_list'");
    
$tr=mysql_fetch_array($tr_sql);
    
$tableRow=$tr["template"];

    
$sql mysql_query("SELECT * FROM ".DB_PREFIX."categories WHERE cParent = '".$cID."' ORDER BY cOrder ASC");



              
        while(
$r=mysql_fetch_array($sql))
{        
      

    
$cat_ID=$r["cID"];
    
$cName=$r["cName"];
    
$cDesc=$r["cDesc"];
       
        
        
$cat_row str_replace("{php=cat_id}"$cat_ID$tableRow);
    
$cat_row str_replace("{php=cat_name}"$cName$cat_row);
    
$cat_row str_replace("{php=cat_desc}"$cDesc$cat_row);



echo 
$cat_row;





}
$cID '0';
}



  #8 (permalink)  
Antiguo 19/02/2008, 10:15
Avatar de Bellenger  
Fecha de Ingreso: noviembre-2004
Ubicación: En un lugar del Mundo...
Mensajes: 599
Antigüedad: 19 años, 5 meses
Puntos: 4
Re: como hacer bucle para consulta en bd?

Lo que sucede es que estas chancando el resultado checka...
1er while
Código PHP:
while($r=mysql_fetch_array($sql)) 
2do while
Código PHP:
 while($r=mysql_fetch_array($sql)) 
Solo ponle nombres distintos y listo...
__________________
Un Caballero Jura Lealtad. Usa su espada para suprimir la Injusticia No Conoce el Odio y Tampoco el AMOR...
  #9 (permalink)  
Antiguo 19/02/2008, 10:24
p2pdownloading
Invitado
 
Mensajes: n/a
Puntos:
Re: como hacer bucle para consulta en bd?

ahora si funciona!! gracias gracias gracias

saludos
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 01:41.