Visualizzazione dei risultati da 1 a 2 su 2

Discussione: menu con sottomenu

  1. #1

    menu con sottomenu

    salve a tutti
    volevo chiedere un consiglio: devo creare un menu con un sottomenu (solo un livello, nulla di ricorsivo), e volevo trovare un modo semplice per risolvere tutto con l'uso di una sola query.
    La tabella ha circa questi dati:

    codice:
    id  layout  titolo
    1   menu1    sottomenu1.1
    2   menu1    sottomenu1.2
    3   menu1    sottomenu1.3
    4   menu2    sottomenu2.1
    4   menu2    sottomenu2.2
    Sto gia provando qualcosa, ma non riesco a farla funzionare, qualcuno mi da' una dritta?
    di seguito alcune righe teoriche su cui sto lavorando...

    Codice PHP:
    $Sql sprintf(
    "select id, layout, titolo from contenuti where pagina = '%s'"
    $Result ExecSql($Sql); //una mia funzione che legge la query
    if(mysql_num_rows($Result) > 0)
    {
      while (
    $Row mysql_fetch_array($Result))  //per tutte le righe del menu
      
    {
        echo 
    '
    creo header ' 
    $Row['layout'];
        while (
    $Result['layout'] == $OldLayout//finchè non cambia il layout, loop del menu attuale
        
    {
          echo 
    '
    layout: ' 
    $Row['layout'] . ' - titolo:' $Row['titolo'];
          
    $OldLayout $Result['layout'];  //salva il vecchio layout per controllarlo al prossimo ciclo
          
    $Row mysql_fetch_array($Result);  //avanza alla prossima riga
        
    }
        echo 
    '
    creo footer ' 
    $Row['layout'];
      }


  2. #2

    Re: menu con sottomenu

    Originariamente inviato da jun_shindo
    Codice PHP:
    $Sql sprintf(
    "select id, layout, titolo from contenuti where pagina = '%s'"
    $Result ExecSql($Sql); //una mia funzione che legge la query
    if(mysql_num_rows($Result) > 0)
    {
      while (
    $Row mysql_fetch_array($Result))  //per tutte le righe del menu
      
    {
        echo 
    '
    creo header ' 
    $Row['layout'];
        while (
    $Result['layout'] == $OldLayout//finchè non cambia il layout, loop del menu attuale
        
    {
          echo 
    '
    layout: ' 
    $Row['layout'] . ' - titolo:' $Row['titolo'];
          
    $OldLayout $Result['layout'];  //salva il vecchio layout per controllarlo al prossimo ciclo
          
    $Row mysql_fetch_array($Result);  //avanza alla prossima riga
        
    }
        echo 
    '
    creo footer ' 
    $Row['layout'];
      }

    Secondo me l'errore che commetti è che il fetch_array prende un record alla volta ad ogni ciclo del while, non serve forzarlo nuovamente alla fine del ciclo stesso.

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.