Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Problema con DB e ciclo while annidato

    ciao,

    ho questa tabella


    in cui ci sono le categorie principali cat_id e cat_parent_id = 0
    adesso io vorrei estrarre e stampare in una lista ordinata ( menu di navigazione), le categorie e le sottocategorie associate.

    Codice PHP:
    $query "SELECT cat_id, cat_parent_id, cat_name 
                         FROM tbl_category 
                         WHERE cat_parent_id = 0"

    $result dbQuery($query); 
      while(
    $row dbFetchAssoc($result)) { 
        
    extract($row); 

    echo
    "[*]<a href=\"#\">".$cat_name."</a><ul>"

    $query_cat "SELECT cat_id, cat_parent_id, cat_name 
                        FROM tbl_category 
                        WHERE cat_parent_id = 
    $cat_id ORDER BY cat_name ASC"
    $result dbQuery($query_cat); 
       while(
    $row dbFetchAssoc($result)) { 
         
    extract($row); 

    echo
    "<li class=\"sub\"><a href=\"prodotti.php?c=".$cat_id."\">".$cat_name."</a>"

    echo
    "[/list]"

    echo
    ""

    in pratica con la 1a query, nel while estraggo tutte le categorie principali.
    Nella 2a query estraggo tutte le sottocategorie passando il cat_id della 1a query

    Però non so perchè, mi stampa solo la 1a categoria (attrezzatura specialistica) e le sottocategorie associate e poi si ferma.

    cosa sbaglio??

    grazie

  2. #2
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    sovrascrivi il result
    fai così

    Codice PHP:
    $query "SELECT cat_id, cat_parent_id, cat_name  
                         FROM tbl_category  
                         WHERE cat_parent_id = 0"
    ;  
    $result dbQuery($query);  
      while(
    $row dbFetchAssoc($result)) {  
        
    extract($row);  

    echo
    "[*]<a href=\"#\">".$cat_name."</a><ul>";  

    $query_cat "SELECT cat_id, cat_parent_id, cat_name  
                        FROM tbl_category  
                        WHERE cat_parent_id = 
    $cat_id ORDER BY cat_name ASC";  
    $result1 dbQuery($query_cat);  
       while(
    $row1 dbFetchAssoc($result1)) {  
         
    extract($row1);  

    echo
    "<li class=\"sub\"><a href=\"prodotti.php?c=".$cat_id."\">".$cat_name."</a>";  
    }  
    echo
    "[/list]";  
    }  
    echo
    ""

  3. #3
    mannaggia che distratto che sono....

    grazie mille....

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.