Visualizzazione risultati 1 fino 2 di 2

Discussione: Menu a tendina che varia in base a cio che scegli

  1. #1
    Guest

    Predefinito Menu a tendina che varia in base a cio che scegli

    Buonasera,
    volevo chiedere come potrei fare per creare due menù a tendina in html (delle select) dove nella prima ci sono delle marche di auto (prese da database mysql) e nella seconda select ci sono tutti i modelli di auto associati a una determinata marca scelta scorrendo sulla prima select (sempre presi da una tabella mysql)...Grazie in anticipo!

  2. #2
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,175

    Predefinito

    Il modo più semplice può essere creare due form (volendo anche nella stessa pagina oppure in pagine differenti).
    Il primo form invia a se stessa (o alla pagina differente) il dato della marca, poi il secondo stampi con PHP i valori, ad esempio:

    Codice PHP:
    <form action="<?= $_SERVER['PHP_SELF'] ?>" method="post"> <!-- qui forse è meglio GET come method ma vedi come ti sembra meglio -->
    <select name="marca">
    <?php
    //query SELECT marche
    ciclo $riga
    echo '<option ... '.(($_POST['marca']==$riga)?'selected':'').' >'.$riga;
    ?>
    </select>
    </form>


    secondo form con i modelli:

    <form action="<?= $_SERVER['PHP_SELF'] ?>" method="post"> <!-- qui forse è meglio GET come method ma vedi come ti sembra meglio -->
    <select name="marca">
    <?php
    if(isset($_POST['marca'])) //se è stato inviato il primo form
    {
    //query SELECT modello WHERE marca=$_POST['marca']
    ciclo $riga
    echo '<option ...'.$riga;
    }
    ?>
    </select>
    </form>
    Oppure potresti fare tutto javascript, creando degli array javascript e all'onChange del primo menù setti i valori al secondo form.

    Altrimenti una cosa intermedia (forse la più bella) è fare come il primo modo però tramite ajax.

    EDIT:

    Codice PHP:
    $_SERVER['PHP_SELF']
    semplicemente stampa l'indirizzo attuale della pagina
    -----
    Codice PHP:
    (($_POST['marca']==$riga)?'selected':'')
    Il funzionamento è:
    Codice PHP:
    if($_POST['marca']==$riga)
    echo
    'selected';
    else echo
    '';
    Ciao!
    Ultima modifica di alemoppo : 15-03-2018 alle ore 19.38.49

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •