Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Qualcomm annuncia la nuova generazione di SoC Snapdragon 8 Elite Gen 6
Qualcomm annuncia la nuova generazione di SoC Snapdragon 8 Elite Gen 6
In occasione del proprio Snapdragon Summit Qualcomm annuncia i due nuovi chip per dispositivi mobile di fascia alta che entreranno nel mercato nel corso del 2027: tanta potenza a disposizione per elaborazioni di intelligenza artificiale sempre più complesse
realme 16 Pro Harry Potter Edition: il nuovo midrange ha uno stemma di Hogwarts che cambia colore al sole!
realme 16 Pro Harry Potter Edition: il nuovo midrange ha uno stemma di Hogwarts che cambia colore al sole!
Hogwarts arriva in fascia media grazie a realme, con una special edition che unisce la Quadra Light-Sensing Color-changing Tech, un baule in stile Hogwarts Express pieno di collezionabili e una scheda tecnica sostanzialmente identica al 16 Pro di partenza: ecco cosa cambia davvero, come si comporta nell'uso quotidiano e quanto vale in base al prezzo di 699,99 euro
Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce
Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce
REDMI Note 17 Pro porta in fascia media una batteria da 8.340 mAh con ricarica HyperCharge a 67W, un display AMOLED da 6,83 pollici capace di picchi di luminosità molto elevati e una struttura certificata TÜV SÜD contro cadute e infiltrazioni d'acqua, il tutto racchiuso in una scocca da 223 grammi. Lo abbiamo provato per diversi giorni tra fotocamera, prestazioni, autonomia e prezzo sul mercato italiano
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 27-11-2009, 14:03   #1
montegentile
Senior Member
 
L'Avatar di montegentile
 
Iscritto dal: Apr 2002
Città: Ariccia (Roma)
Messaggi: 1353
[php] Creare un menu a livelli

Salve,
ho un problema che non riesco a risolvere:
devo creare un menu con diversi sottolivelli di cui non conosco a priori il numero e non conosco nemmeno l'ordine con il quale verranno creati.

Ho creato una tabella nel database mySql che contiene questo:

ID_Livello (Chiave primaria atuo-incrementata)
N_Livello (indica la profondità del livello)
ID_Liv_Precedente (L'id del livello precedente)
Nome_Livello

In pratica:
voglio un menu così composto

A
----> C
-----> E
----> D
B
----> F

Questo menu ha 2 elementi principali A e B.
C e D sono sottomenu di A ed E è sottomenu di C

Nella mia tabella avrei una cosa del genere:

ID NOME LIVELLO ID_LIV_PREC
1 A 0 0
2 B 0 0
3 C 1 1
4 D 1 1
5 E 2 3
6 F 1 2

Devo (e non ci riesco) provvedere a creare un menu cliccabile nel quale clicco e si espande un livello che eventualmente posso ancora cliccare e mi mostrerà i suoi livelli sottostanti....
Potete aiutarmi... non riesco a cavare un ragno dal database....

Grazie
__________________
MacBook Pro Retina 15" 2.3Ghz 16 GB Ram SSD 512 GB
montegentile è offline   Rispondi citando il messaggio o parte di esso
Old 27-11-2009, 14:35   #2
kurts
Senior Member
 
L'Avatar di kurts
 
Iscritto dal: Oct 2009
Città: Varese
Messaggi: 307
ma non sarebbe più efficiente una struttura del seguente tipo?
id, nome, padre

id come nel tuo esempio rimane un int autoincrement >0
nome è un semplice varchar
padre è il riferimento all'id superiore

in questo modo gestisci il tutto come fosse un albero e con una piccola funzione ricorsiva

se padre==0 allora è il primo livello, la radice, altrimenti lo devi attaccare al padre e così via
kurts è offline   Rispondi citando il messaggio o parte di esso
Old 27-11-2009, 14:37   #3
montegentile
Senior Member
 
L'Avatar di montegentile
 
Iscritto dal: Apr 2002
Città: Ariccia (Roma)
Messaggi: 1353
Si, mi pare meglio... allora correggo la tabella che diventa

ID
Nome
ID_Padre

e poi ???
__________________
MacBook Pro Retina 15" 2.3Ghz 16 GB Ram SSD 512 GB
montegentile è offline   Rispondi citando il messaggio o parte di esso
Old 27-11-2009, 15:39   #4
kurts
Senior Member
 
L'Avatar di kurts
 
Iscritto dal: Oct 2009
Città: Varese
Messaggi: 307
e poi...
e poi crei una funzione che ti genera il menu partendo da un certo punto, all'inizio sarà 0, la radice dell'albero.
puoi usare una funzione così:
Codice PHP:
function menu($level){
    
$menu=mysql_query("SELECT * FROM tabella_menu WHERE padre=".$level." ORDER BY id ASC;");
    echo
'<ul>';
    while (
$element=mysql_fetch_array($menu)){
        echo 
'<li';
        if (
$level!=0){echo' id="submenu"';}
        echo
' ><a href="link_preso_dal_db'">';
        echo 
$element['nome'].'</a>';
        
$id=$element['id'];
        
$subelement=mysql_query("SELECT FROM tabella_menu WHERE parent=".$id." ORDER BY id ASC;");
        if (mysql_num_rows(
$subelement)>0){        //eventuali sottovoci
            menu(
$id);
        }
        echo'</li>';
    }
    echo '</ul>';    

poi nella pagina, dove deve comparire il menu fai una chiamata alla funzione sopra:
menu('0');

ho dovuto sfoltire una funzione che mi ero creato per un mio progetto quindi può darsi che così com'è on funzioni e dia qualche errore, prova a controllare, al massimo fai sapere
kurts è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Qualcomm annuncia la nuova generazione di SoC Snapdragon 8 Elite Gen 6 Qualcomm annuncia la nuova generazione di SoC Sn...
realme 16 Pro Harry Potter Edition: il nuovo midrange ha uno stemma di Hogwarts che cambia colore al sole! realme 16 Pro Harry Potter Edition: il nuovo mid...
Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce Recensione REDMI Note 17 Pro: il midrange con ba...
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema Insta360 Luna Ultra: la potenza del sensore da 1...
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
Super El Niño, allarme globale: 451.000 ...
Toyota, 400.000 robot in fabbrica senza ...
Hanno bucato l'FBI e ora dettano le cond...
Standard sì, licenze no: la linea di Ope...
Guida all'acquisto: quale smartphone HON...
PS6 e nuova XBOX, i SoC avrebbero supera...
Alcuni frigoriferi smart di Samsung si a...
Italiani e IA, l'entusiasmo cala: avanti...
Robin Williams resuscitato dall'IA per p...
Acquista una RTX 5090 usata per risparmi...
CLOSEDQUORUM, il malware che usa quattro...
Microsoft: Calendar, People e Files vann...
Due missili su una scuola elementare ira...
Pirate Face è il Pirate Bay degli LLM: i...
ASUS ROG Azoth 96 HE: con gli switch mag...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 15:28.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v