Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    Esplodere un menu dinamico

    Salve a tutti, probabilmente l'argomento è stato già trattato ma con la ricerca non sono riuscito a trovar nulla.

    Sicuramente per voi è semplicissimo, per me che col PHP non vado perfettamente d'accordo, un pò meno.

    Ho un menù totalmente dinamico che ha un sottomenu dinamico, quindi mi ritrovo in questa situazione:

    #MENU
    ..Faccine
    ..... Scherzose
    ..... Serie
    ..... Animate
    ..Argomenti
    ..... Php
    ..... Html
    ..... Asp

    ecc ecc

    Nel pannello di gestione ho la possibilità di creare nuove sezioni e sottosezioni.

    Ora dovre ESPLODERE il menu proprio come da esempio qui sopra, ma non so come fare se non con una query per ogni voce di menu. Considerando che il mio menu sarà di almeno 12 voci, mi sembra una follia.

    MYSQL
    Ho creato una tabella "CATEGORIE" ed è così organizzata:

    |IDCAT|NOME|LIVELLO|NUMCAT

    Esempio col menu sopra:
    1 / Faccine / 1 / NULL
    2 / Scherzose / 2 / 1
    3 / Serie / 2 / 1

    ecc ecc


    Qualcuno sa come con una query ho possibilità di esplodere tutto il menu compreso di sottocategorie?

    Grazie mille
    Perchè uso Maxthon? | Mi piace questa chat

  2. #2
    penso di aver fatto più o meno la stessa cosa,
    se per esplodere intendi far visualizzare tutto le voci nell'ordine

    categoria 1
    sottocategoria 1
    sottosottocategoria 1
    categoria 2
    sottocategoria 2
    etc...

    la query è (ocio alla firma)
    Codice PHP:
    SELECT FROM sezioni ORDER BY id_della_categoria_padre ASCid_livello_di_sottocategoria ASC
    visualizzate col solito:
    Codice PHP:
    $result mysql_query($query$db);
    while (
    $row mysql_fetch_array($result)){
        echo 
    $row[nome]."<br \>";

    IMHO

  3. #3
    Innanzitutto grazie per la risposta

    diciamo che a questo modo l'avevo fatto anche io, solo che vorrei il menu in ordine alfabetico e in questo caso non vorrebbe cosi

    Grazie
    Perchè uso Maxthon? | Mi piace questa chat

  4. #4
    dovrebbe essere
    SELECT * FROM sezioni ORDER BY id_della_categoria_padre ASC, id_livello_di_sottocategoria ASC, nome ASC
    IMHO

  5. #5
    mmm ... no non va .... mi sembra che prenda solo il primo ORDER ... infatti mi da il classico ordine per ID.

    Mi è uscito fuori cosi
    Campi -> ID - NOME - NUMCAT
    1 - Arredo Casa
    2 - Sistemi di Riposo
    4 - Corredo
    5 - Piccoli Elettrodomestici
    7 - Salute e Benessere
    21 - Offerte Promozionali
    30 - @ Tendine 1
    31 - @ Orologi 1
    32 - @ Pavimenti 1


    Quelli con la @ sono le sottocategorie e dovrebbero essere figlie della categoria ID 1 = Arredo Casa


    Grazie mille
    Perchè uso Maxthon? | Mi piace questa chat

  6. #6
    mi sembra molto strano, chiedo chiarimenti anche ad altri eventuali lettori riguardo l'uso di più chiavi di ordinamento.
    nel mentre mi viene da consigliarti una lettura ricorsiva del database delle sezioni del tipo:
    - prendi tutte le voci di primo livello
    - per ognuna delle voci prendi i figli di secondo livello...
    e così via.
    così è bello arzigogolato però
    IMHO

  7. #7
    Utente di HTML.it L'avatar di thepooh
    Registrato dal
    Oct 2005
    Messaggi
    203
    SELECT * FROM sezioni ORDER BY id_della_categoria_padre ASC, nome ASC

  8. #8
    @solofumo
    Infatti 'sto arrabbiatissimo perchè solo per ricostruire il menu devo fare 3 query .. incredibile
    Eppure la select che tu mi hai consigliato sintatticamente non è errata, lo è probabilmente logicamente.
    A questo punto credo che l'unica alternativa sia
    QUERY SELECT MENU LIVELLO 1
    ciclo
    echo nome livello 1
    query livello 2
    ciclo
    echo nome livello 2
    chiudi 2 cicli


    @thepooh
    ehm qualcosa non torna eh.
    Quella select potrebbe funzionare se la chiave ID della categoria padre fosse uguale alla figlia, ma cosi non è.
    Infatti io ho
    ID - NOME - ID_DELPADRE
    Quindi
    1 - CATEGORIA PADRE - NULL
    2 - CATEGORIA PADRE 2 - NULL
    3 - CATEGORIA FIGLIO - 1

    Grazie ad entrambi che alleviate il dolore e la rabbia di un dannato che di Domenica è in ufficio
    Perchè uso Maxthon? | Mi piace questa chat

  9. #9
    Originariamente inviato da Bukowski
    @solofumo
    Infatti 'sto arrabbiatissimo perchè solo per ricostruire il menu devo fare 3 query .. incredibile
    credo dovresti scriverti una funzionicina ricorsiva, per questo la ritenevo arzigogolata come soluzione

    Infatti io ho
    ID - NOME - ID_DELPADRE
    Quindi
    1 - CATEGORIA PADRE - NULL
    2 - CATEGORIA PADRE 2 - NULL
    3 - CATEGORIA FIGLIO - 1
    forse ho capito.
    e se tu, quando la categoria non ha padre, settassi l'id della categoria padre uguale all'id stesso della categoria?
    es.
    1 - CATEGORIA PADRE - 1
    2 - CATEGORIA PADRE 2 - 2
    3 - CATEGORIA FIGLIO - 1

    Io ho una tabella sezioni uguale alla tua e faccio così.
    IMHO

  10. #10
    In questa maniera cosa cambierebbe?

    Grazie
    Perchè uso Maxthon? | Mi piace questa chat

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