Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Menu tendina dinamico

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    15

    Menu tendina dinamico

    Ciao,
    avrei un problemino. Io ho un form con 2 menu a tendina. Il problema sta qui io vorrei che i valori nel secondo menu a tendina variano a dipendenza di cosa l'utente seleziona nel primo menu a tendina. È possibile farlo con un unico form o devo per forza crearne due?

    esempio:
    Primo menu a tendina contiene 2005,2006,2007,....
    Nel secondo menu a dipendenza di che anno a scelto l'utente esso possa vedere la lista di tutti i film usciti in quel anno

    Non so se mi sono spiegato bene cmq, Grazie mille
    "Non sono stupido, sono ignorante!"

  2. #2
    ho il tuo stesso problema, e l'ho risolto in maniera forse grezza, ma ti dico...

    ho creato un solo form contenente il primo menù a tendina e tanti div quante sono le opzzioni disponibili nel primo menù.. dentro i div ci ho messo altri menù a tendina.. i div hanno style="display:none;" e quando faccio una scelta dal primo menù, con javascript cambio il valore di display a "inline"..

    Non sono sicuro di essermi spiegato bene, e sicuramente ci sono soluzioni migliori che sono pronto a fare mie, dato che la mia soluzione non mi sembra fenomenale, anzi..

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    15
    Sinceramente non ho capito benissimo quello che intendi.. non hai magari in giro il pezzettino di codice così capisco un pò meglio? perchè è da un bel pò di tempo che non tocco più php

    thx
    "Non sono stupido, sono ignorante!"

  4. #4
    non ho il codice, ma provo a farlo alla svelta:

    dentro al form hai la tua select con tutte le opzioni che, una volta selezionate, chiamano una funzioncina javascript.. ( l'evento dovrebbe essere onselect ma non sono sicuro )

    codice:
    <select name="gruppo1">
    <option value="1" onselect="show_hide(1);">Opzione 1</option>
    <option value="2" onselect="show_hide(2);">Opzione 2</option>
    <option value="3" onselect="show_hide(3);">Opzione 3</option>
    </select>
    immagino che le opzioni di questa prima select tu le legga da un database..
    mettiamo che finiscano in un array che chiamiamo $arrayDaDb


    Codice PHP:
    for($i=0;$i<count($arrayDaDb);$i++){
    print 
    "<div id=\"select_".$i."\" style=\"display:none\">";
    print 
    "<select name=\"gruppo2\">";
    # qui ci sarà un altro ciclo per popolare la select con le option lette da db
    print "</select>";
    print 
    "</div>";

    manca solo la funzioncina javascript

    codice:
    function showhide(id){
    for(i=0;i<array_optGruppo1.length;i++){
    	hide = document.getElementById("select_"+array_optGruppo1[i]);
    	hide.style.display="none";	
    	}
    show = document.getElementById("select"+id_cat);
    show.style.display="inline";
    }
    l'array optGruppo1 è stato preventivamente popolato

    Codice PHP:
    <?php
    $script
    ="";
    for(
    $i=0;$i<count($arrayDaDb);$i++)    
        
    $script.= "array_optGruppo1[".$i."] = ".$arrayDaDb[$i]['id'].";";
    echo 
    $script;
    ?>

    è sicuramente un bordello, per questo non vedo l'ora che qualcuno ci illumini

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    15
    Grazie mille per tutto supporter però lo guardato 3 volte il codice e non ci capisco più di quel tanto. Magari qualcun altro ci può illuminare su una soluzione più banale!

    Io dovrei semplicemente scegliere l'anno dal primo menu a tendina e appena l'utente sceglie l' anno nel secondo menu a tendina mi appaiono solo i film prodotti in quel anno.

    Riporto un pò di codice:

    Primo menu..

    <td width="470" >
    <select name="year" class="form">
    <option value="">ALL</option>
    <option value="2006">2006</option>
    <option value="2007" selected>2007</option>
    </select>
    </td>


    Secondo menu..

    <td width="470" bgcolor="#FFDE1D">
    <select name="producer" class="form">
    <option value="">ALL</option>
    <?php
    $query = "SELECT DISTINCT producer FROM film ORDER BY producer";
    result = mysql_query($query, $db);
    while($row = mysql_fetch_array($result)) {
    echo("<option value= \"" . $row['producer'] . "\">" . $row['producer'] ."</option>");
    }
    ?>
    </select>
    </td>

    thx :P
    "Non sono stupido, sono ignorante!"

  6. #6
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    <html>
    <head>
    <title>Menu dinmico in PHP</title>
    <style type="text/css">
    a:link {text-decoration:none;color:black}
    a:visited {text-decoration:none;color:black}
    a:hover {text-decoration:none;color:red}
    </style>
    </head>
    <body>
    <table border="1" width="150" cellpadding="3" cellspacing="0" bordercolor="black">
    <?
    $php=array("Free PHP"=>"http://freephp.html.it","Zio Budda"=>"http://www.ziobudda.net");
    $javascript=array("JsDir"=>"http://www.jsdir.it","HTML Point"=>"http://www.html.it");
    $java=array("Mokabyte"=>"http://www.mokabyte.it","Programmazione.it"=>"http://www.programmazione.it");
    ?>
    <tr><td bgcolor="silver"><font face="arial" size="3">PHP</font></td></tr>
    <?
    if($_GET['idmenu']=="all" or $_GET['idmenu']=="php")
    {
    foreach($php as $key=>$val)
    {
    echo "<tr><td bgcolor=\"aqua\"><font face=\"arial\" size=\"2\"><a target=\"_blank\" href=\"$val\">$key</a></font></td></tr>";
    }
    }
    ?>
    <tr><td bgcolor="silver"><font face="arial" size="3">Javascript</font></td></tr>
    <?
    if($_GET['idmenu']=="all" or $_GET['idmenu']=="javascript")
    {
    foreach($javascript as $key=>$val)
    {
    echo "<tr><td bgcolor=\"red\"><font face=\"arial\" size=\"2\"><a target=\"_blank\" href=\"$val\">$key</a></font></td></tr>";
    }
    }
    ?>
    <tr><td bgcolor="silver"><font face="arial" size="3">Java</font></td></tr>
    <?
    if($_GET['idmenu']=="all" or $_GET['idmenu']=="java")
    {
    foreach($java as $key=>$val)
    {
    echo "<tr><td bgcolor=\"aqua\"><font face=\"arial\" size=\"2\"><a target=\"_blank\" href=\"$val\">$key</a></font></td></tr>";
    }
    }
    ?>
    <tr><td bgcolor="silver"><font face="arial" size="1">Mostra tutti</font></td></tr>
    <tr><td bgcolor="silver"><font face="arial" size="1">Nascondi tutti</font></td></tr>
    </table>
    </body>
    </html>
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  7. #7
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    è stato utile?
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

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.