Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    48

    array multidimensionali

    Salve a tutti,
    ho un array multimensionale di questo tipo
    Codice PHP:
    $menu_sx = array ( "Regolamento"  => array ( "url"=>'regolamento.php',
                                                
    "nome"=>'Regolamento',
                                                
    "path_img"=>'images/menu_sx/regolamento.gif',
                                                
    'path_img_on'=>'images/menu_sx/regolamento_on.gif'),
                        
    "Modulistica"  => array ( "url"=>'modulistica.php',
                                                
    "nome"=>'Modulistica',
                                                
    "path_img"=>'images/menu_sx/modulistica.gif',
                                                
    'path_img_on'=>'images/menu_sx/modulistica_on.gif'),
                        
    "Iscrizioni"  => array ( "url"=>'iscrizioni.php',
                                                
    "nome"=>'Iscrizioni',
                                                
    "path_img"=>'images/menu_sx/iscrizioni.gif',
                                                
    'path_img_on'=>'images/menu_sx/iscrizioni_on.gif')
                   ); 

    Essenzialmente questo mi serve per costruire un menu creando delle righe di tabella:
    Codice PHP:
     if ($url == $pagina_corrente) {
                echo 
    "<tr><td><img src=\"".$path_img_on."\" name=\"".$nome."\" border=\"0\" id=\"".$nome."\"></td></tr>";
              } else {
                echo 
    "<tr><td><a href=\"".$url."\" onMouseOver=\"MM_swapImage('".$nome."','','".$path_img_on."',1)\" onMouseOut=\"MM_swapImgRestore()\"><img src=\"".$path_img."\" name=\"".$nome."\" border=\"0\" id=\"".$nome."\"></a></td></tr>";
              } 
    La cosa che non riesco a fare è quella di avvalorare le variabili sparse nel codice illustrato sopra ... ho provato con "foreach", con "while ( list($chiave,$valore) = each($menu_sx) )" però non riesco. Al max sono riuscito a stampare a video con degli echo la seguente situazione:

    url: regolamento.php
    nome: Regolamento
    path_img: images/menu_sx/regolamento.gif
    path_img_on: images/menu_sx/regolamento_on.gif
    url: modulistica.php
    nome: Modulistica
    path_img: images/menu_sx/modulistica.gif
    path_img_on: images/menu_sx/modulistica_on.gif
    url: iscrizioni.php
    nome: Iscrizioni
    path_img: images/menu_sx/iscrizioni.gif
    path_img_on: images/menu_sx/iscrizioni_on.gif

    e precisamente con il seguente codice:
    [PHP]
    while ( list($chiave,$valore) = each($menu_sx) ) {
    while ( list($chiave2,$valore2) = each($valore) ) {
    echo "$chiave2: $valore2
    ";
    }
    }[\PHP]


    Bo non so proprio come fare

    Buona Notte!! E speriamo che questa mi porti consiglio ...

  2. #2
    Codice PHP:
    foreach($menu_sx as $var => $val)
    {
        list(
    $url$nome$path_img$path_img_on) = array_values($val);
        
        if (
    $url == $pagina_corrente) {
                echo 
    "<tr><td><img src=\"".$path_img_on."\" name=\"".$nome."\" border=\"0\" id=\"".$nome."\"></td></tr>\n";
              } else {
                echo 
    "<tr><td><a href=\"".$url."\" onMouseOver=\"MM_swapImage('".$nome."','','".$path_img_on."',1)\" onMouseOut=\"MM_swapImgRestore()\"><img src=\"".$path_img."\" name=\"".$nome."\" border=\"0\" id=\"".$nome."\"></a></td></tr>\n";
              }


  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    48
    Ok funziona !!!

    Grazie cubalibre810 ... Saluti

    PS: non capisco perche la cartellina gialla presente nell'elenco die thread sia con un puntino nero al centro ... sono off topic, o cosa ... non capisco!!

  4. #4
    Se nel topic c'è una tua risposta ti segna il pallino nero.

    Comunque se l'array riesci a strutturarlo con indici numerici ti risparmi dei passaggi
    Es.
    Codice PHP:
    $menu_sx = array ( 0  => array ( "url"=>'regolamento.php',
                                     
    "nome"=>'Regolamento',
                                     
    "path_img"=>'images/menu_sx/regolamento.gif',
                                     
    'path_img_on'=>'images/menu_sx/regolamento_on.gif'),
                       
    1  => array ( "url"=>'modulistica.php',
                                     
    "nome"=>'Modulistica',
                                     
    "path_img"=>'images/menu_sx/modulistica.gif',
                                     
    'path_img_on'=>'images/menu_sx/modulistica_on.gif'),
                       
    2  => array ( "url"=>'iscrizioni.php',
                                     
    "nome"=>'Iscrizioni',
                                     
    "path_img"=>'images/menu_sx/iscrizioni.gif',
                                     
    'path_img_on'=>'images/menu_sx/iscrizioni_on.gif')
                   ); 
    Codice PHP:
    for($i=0;$i<count($menu_sx);$i++)
    {
        if (
    $menu_sx[$i]['url'] == $pagina_corrente) {
                echo 
    "<tr><td><img src=\"".$menu_sx[$i]['path_img_on']."\" name=\"".$menu_sx[$i]['nome']."\" border=\"0\" id=\"".$menu_sx[$i]['nome']."\"></td></tr>\n";
              } else {
                echo 
    "<tr><td><a href=\"".$menu_sx[$i]['url']."\" onMouseOver=\"MM_swapImage('".$menu_sx[$i]['nome']."','','".$menu_sx[$i]['path_img_on']."',1)\" onMouseOut=\"MM_swapImgRestore()\"><img src=\"".$menu_sx[$i]['path_img']."\" name=\"".$menu_sx[$i]['nome']."\" border=\"0\" id=\"".$menu_sx[$i]['nome']."\"></a></td></tr>\n";
              }

    Ciao

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.