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

    generazione html per menu dinamico

    Ciao a tutti:
    da questa tabella:

    codice:
    id	nome	      padre	link_pagina
    4	Prodotti		
    3	Marchi		
    26      Voce2	      3         15
    25	Voce1	      4	         21

    come faccio a ciclare la lista che mi torna dall'esecuzione della query in modo da costruire correttamente il menu con le relative sotto voci??

    cia

  2. #2
    La tabella... è intesa una tabella in un database Mysql?

  3. #3
    si

  4. #4
    Teoria: SELEZIONA quello che mi serve DA tabella ORDINATA per campo id ASCENDENTE

    Pratica:
    Codice PHP:
    $query "SELECT * FROM tabella ORDER BY id ASC" 
    questa è la query, può variare in caso tu abbia necessità differenti, poi devi dire a php di lanciare la query e ciclare. (si suppone che te abbia già detto a php quale database usare, con relativo utente e password).

    Codice PHP:
    $res_query mysql_query($query);
    // Ed ora il ciclo.
    while ($risultato mysql_fetch_array($res_query))
    {
     print 
    '[url="pagina'.$risultato['id'].'"]'.$risultato['nome'].'[/url]';

    Ovviamente questi sono solo esempi, in generale potresti guardarti le guide sulla sezione php del sito html.it su come interagire con il database mysql.

  5. #5
    in questo modo mi stampo solo la lista delle voci.
    Io devo creare un menu con tanto di sotto voci.

    esempio:
    codice:
    <div class="col_1">
                    <h3>Voce Padre</h3>
                    <ul>[*]SottoMenu1[*]SottoMenu2[*]SottoMenu3[/list]
                     
                </div>
    tipo un menu a tendina.
    Devo generare questo codice in modo dinamico.

  6. #6
    Prendendo in esame il tuo codice puoi fare qualcosa di questo genere:

    Codice PHP:
    $i 1;
    while (
    $risultato mysql_fetch_array($res_query)) 

    if (
    trim($risultato['padre']) != "")
    {
     print 
    '[*][url="#"]SottoMenu'.$i.'[/url]'
    }
    else
    {
     print 
    '[*][url=""]SottoMenu'.$i.'[/url]'
    }
    $i++;

    Poi il contatore $i diventa inutile se non scrivi sottomenù + numero, tuttavia puoi fare il controllo per vedere se vi è qualcosa nella colonna padre, se vi è qualcosa allora si tratta di un sottomenù di un menù. (in tal caso ho messo da href="" a href="#" .

  7. #7
    come faccio a generare una cosa simile??? sto impazzendoooooo

    Codice PHP:
    [*][url="#"]Marchi[/url]   
            <
    div class="dropdown_4columns">        
                <
    div class="col_4">
                    <
    h2>I nostri Marchi</h2>
                </
    div>
                
                <
    div class="col_1">
                    <
    h3>marchi1</h3>
                    <
    ul>[*][url="#"]marchi1.1[/url][*][url="#"]marchi1.2[/url][*][url="#"]marchi1.3[/url][/list]
                     
                </
    div>
                <
    div class="col_1">
                
                    <
    h3>marchi2</h3>
                    <
    ul>[*][url="#"]marchi2.1[/url][*][url="#"]marchi2.2[/url][*][url="#"]marchi2.3[/url][*][url="#"]marchi2.4[/url][*][url="#"]marchi2.5[/url][/list]
                     
                </
    div>
                <
    div class="col_1">
                    <
    h3>marchi3</h3>
                    <
    ul>[*][url="#"]marchi3.1[/url][*][url="#"]marchi3.2[/url][*][url="#"]marchi3.3[/url][*][url="#"]marchi3.4[/url][/list]
                     
                </
    div>
    </
    div>
     <
    div class="dropdown_4columns">        
                <
    div class="col_4">
                    <
    h2>I nostri Marchi</h2>
                </
    div>
                
                <
    div class="col_1">
                    <
    h3>marchi1</h3>
                    <
    ul>[*][url="#"]marchi1.1[/url]
    ....
    ....
    ....
    .... 

  8. #8
    I nomi dei campi (esempio: marchi e prodotti), hanno sempre almeno un'opzione?

  9. #9
    si

  10. #10
    Puoi fare dei cicli per i vari[*].
    L'ideale sarebbe avere l'idea logica completa, non i dati.

    Esempio:

    Devi stampare innanzitutto dei div, il nome all'interno (prima di mettere le voci del menù) sono prese da database. Nel database ci sono delle voci che sono "figlie" di queste.

    Nel caso dell'esempio si può facilmente ciclare tutti i figli ed a livello teorico anche i padri, devi aumentare i dati presenti nel database se vuoi che ad esempio metta i nomi delle classi giuste per voci intese padri e figli.


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.