Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Menù dinamico

  1. #1

    Menù dinamico

    ciao ragazzi ,
    ho un sito dove voglio caricare un menu caricando i dati dal database , con questa sequenza

    CATEGORIA1 :
    - Sottocategoria 1
    - Sottocategoria 1
    CATEGORIA 2:
    - Sottocategoria 2
    - Sottocategoria 2
    ecc...

    ora ho gia trovato un esempio qua sul forum che mi ha aiutanto tanto , anche se però ho un problema:
    L'esempio che ho trovato non mi carica sia categorie che sottocategorie ,
    ma carica all'inizio le categorie , e se clicco sulla categoria in base alla variabile $_get inviata carica le sue sottocategoria

    Come faccio a caricare sia categorie che sottocategorie ??
    HELP ME !! dhò: :

    VI ALLEGO IL CODICE PHP DELLO SCRIPT :

    Codice PHP:
    $sql "SELECT * FROM tabella_menu ORDER BY genitore ASC"
    $result mysql_query($sql); 
    $j=0
    while(
    $menu[$j] = mysql_fetch_array($result)) { $j++; } 

    for(
    $i=0;$i<count($menu);$i++) 

        if(
    $menu[$i]['genitore'] == 0
        { 
            print(
    "[url='?sub=".$menu[$i][']".$menu[$i]['voce_menu']."[/url]

    "); 
             
            if(isset($_GET['
    sub']) && $_GET['sub'] == $menu[$i]['id_menu']) 
            { 
                for($x=0;$x<count($menu);$x++) 
                { 
                    if($menu[$x]['
    genitore'] == $_GET['sub']) 
                    { 
                        print("- [url='
    #']".$menu[$x]['voce_menu']."[/url]

    "); 
                    } 
                } 
            }         
        } 

    La struttura del database è :
    Codice PHP:
    id_menu voce_menu genitore 
    1         minnie      1 
    2         pluto       1 
    3         topolino    1 

  2. #2
    Utente di HTML.it L'avatar di Il_Drugo
    Registrato dal
    May 2006
    Messaggi
    1,220
    Codice PHP:
    $sql "SELECT * FROM tabella_menu ORDER BY genitore ASC";
    $result mysql_query($sql);
    $j=0;
    while(
    $menu[$j] = mysql_fetch_array($result)) { $j++; }

    for(
    $i=0;$i<count($menu);$i++)
    {
        if(
    $menu[$i]['genitore'] == 0)
        {
            print(
    "[url='?sub=".$menu[$i][']".$menu[$i]['voce_menu']."[/url]

    ");
             
                for($x=0;$x<count($menu);$x++)
                {
                    if($menu[$x]['
    genitore'] == $_GET['sub'])
                    {
                        print("- [url='
    #']".$menu[$x]['voce_menu']."[/url]

    ");
                    }
                }        
        }

    Se non ho capito male...cosi dovrebe fare al caso tuo


  3. #3
    no non funzia perche non compaiono subito le categorie e sottocategorie insieme e poi anche se cliccassi su una categoria mi compare così
    :
    ad esempio se clicco su categoria 1

    Categoria 1
    SottoCategoria1
    Sottocategoria1
    Categoria 2
    Sottocategoria 1
    Sottocategoria 1
    eccc

    il che è sbagliato ... mi servirebbe che appena si apre la pagina mi esce tutto il menù ... e che non siano tutte uguali le sottocategorie ma che le carichi dal database
    Categoria 1
    Sottocategoria 1
    Categoria 2
    Sottocategoria 2

  4. #4
    Utente di HTML.it L'avatar di Il_Drugo
    Registrato dal
    May 2006
    Messaggi
    1,220
    Codice PHP:
    <?php
    $sql 
    "SELECT * FROM tabella_menu WHERE genitore = '0' ORDER BY voce_menu ASC";
    $result mysql_query($sql);
    $j=0;
    while(
    $menu mysql_fetch_array($result)) 

        if(
    $menu['genitore'] == 0)
        {
            print(
    "[url='#']".$menu['voce_menu']."[/url]

    "
    );
            
    $sql "SELECT * FROM tabella_menu WHERE genitore = '".$menu['id_menu']."' ORDER BY voce_menu ASC";
            
    $subresult mysql_query($sql);
            while (
    $submenu mysql_fetch_array($subresult))
            {
                print(
    "- [url='#']".$submenu['voce_menu']."[/url]

    "
    ); 
            }
        }
        
    $j++; 
    }

    ?>
    Volendo, puoi storare tutto subito in un array multidimensionale, risparmiando le sotto query per i i sottomenu, ma direi che cosi è più semplice da capire (sempre ammesso che sto giro abbia capito cos aintendevi^^).


  5. #5
    FUNZIONA !!!
    SEI UN MITO GRAZIE MILLE !!!!!

  6. #6
    Ciao,stavo facendo una ricerca per un menu dinamico ed ho trovato questo post già scritto che mi è servito molto.

    Quello che mi chiedevo è come si potesse implementare nel caso in cui anche le sotto categorie siano dinamiche.

    Cioè,con questo script,la struttura deve essere obbligatoriamente :

    Cat 1
    sottocat 1
    sottocat 2
    Cat 2
    sottocat 1
    sottocat 2

    Se invece fosse così:

    Cat 1
    sottocat 1
    sottocat 2
    sottosottocat1
    Cat 2
    sottocat 1
    sottosotto cat1
    sottocat 2
    sottosotto cat1
    sottosottosotto cat1

    Come dovrei implementare il codice già scritto da DRUGO?

    N.B. Premetto che passerei il valore della categoria così: index.php?cat=3_7_1
    (si riverisce alla categoria 1 la principale,7 sottocategoria della 3 e 1 sottocategoria della 7)

  7. #7
    azz...questo è da cancellare...l'ho scritto 2 volte involontariamente,SCUSATE!

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 © 2025 vBulletin Solutions, Inc. All rights reserved.