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

    Menu a tendina scelte multiple

    Ciao a tutti

    chiedo scusa se l'argomento è stato già trattato, ma non trovo quello che fà per me nella ricerca.
    Premetto che sono abbastanza niubba nella "programmazione" se così vogliamo chiamarla.

    Allora, io devo inserire in un sito di viaggi che sto creando, un menu così composto:
    - da (from) > scelta (a, b, c, d...)
    - a (to) > scelta (a1, b1, c1, d1...)
    - persone (pax) > scelta (1, 2, 3, 4...)

    Operate le tre scelte per ogni variante (da: a a: a1 pax: 2 > pagina x) (da: b a: d1 pax: 4 > pagina y) col pulsante VAI mi porta ad una pagina ben definita

    In realtà mi basterebbero 7/8 scelte per i due menu località e 3 scelte per le persone.

    Come posso fare?... c'è qualche programma anche a pagamento che me lo faccia costruire da sola?... qualche anima pia che dietro compenso (modesto) me lo faccia?

    Ho trovato un codice con due menu e probabilmente si può implementare a mio uso e consumo, ma da novellina quale sono non ne sono capace.

    <form name="form1"> <select name="select1" size="1" style="background-color:#FFFFD7" onChange="displaydesc(document.form1.select1, thetext1, 'textcontainer1')"> <option selected value="http://www.javascriptkit.com">JavaScript Kit </option> <option value="http://freewarejava.com">Freewarejava.com</option> <option value="http://wired.com" target="newwin">Wired News</option> <option value="http://www.news.com">News.com</option> <option value="http://www.codingforums.com" target="newwin">Coding Forums</option> </select> <input type="button" value="Go" onClick="jumptolink(document.form1.select1)">
    <span id="textcontainer1" align="left" style="font:italic 13px Arial"> </span> </form>
    Possibilmente in html così da non aver problemi di visualizzazione, oppure java... basta che non sia in flash...
    Grazie a tutti anticipatamente

    Nicole

  2. #2
    Ciao Nicole,
    benvenuta sul forum.

    Se ho capito bene tu vorresti fare "tutte le combinazioni" cioè arrivare ad una pagina "x" se la scelta è a-a1-2, ad un'altra pagina "y" se la scelta è a-a1-3, ad un'altra ancora per a-a1-4 ecc...

    Certo, si può fare, e adesso ti dico anche come, ma devo farti presente che non è una buona soluzione perché ti obbligherà a creare n nuove pagine ogni volta che vorrai aggiungere una nuova partenza o destinazione o numero di persone.

    Certo saranno pagine in html quindi facili da realizzare anche per chi è alle prime armi e poi saranno sostanzialmente tutte uguali quindi ne preparerai una e poi copia/incolla e te la cavi, però l'ideale sarebbe di costruire dinamicamente la pagina da visualizzare in base alle scelte effettuate e non di indirizzare verso pagine diverse, anche perché le combinazioni aumentano esponenzialmente: con 4 partenze, 4 arrivi e quattro numeri di persone ti tocca già fare 64 pagine diverse!

    Quindi il mio suggerimento è di studiare il php (o l'asp) per capire come si costruiscono pagine dinamiche oppure di affidare il lavoro a qualcuno che conosca la programmazione lato server (c'è una sezione apposita del forum per offerte di lavoro a pagamento).

    Comunque, visto che si tratta di un sito "di lavoro", non tocca a me dire cosa è meglio per te quindi, intanto che decidi come muoverti, ti dò la soluzione "sporca".

    Si tratta semplicemente di fare un form con le tre select così:

    codice:
          <form name="form1" action="seleziona.php" method="post">
             <select name="select1">
                <option selected value="MI">MI</option>
                <option value="TO">TO</option>
                <option value="RM">RM</option>
                <option value="NA">NA</option>
             </select>
             <select name="select2">
                <option selected value="PA">PA</option>
                <option value="VE">VE</option>
                <option value="BO">BO</option>
                <option value="BA">BA</option>
             </select>
             <select name="select3">
                <option selected value="1">1</option>
                <option value="2">2</option>
                <option value="3">3</option>
                <option value="4">4</option>
             </select>
             <input type="submit" value="Invia dati">
          </form>
    ho inserito delle partenze e destinazioni di esempio, giusto per essere un po' più chiari.

    Il form nella action ha il nome della pagina php da richiamare quindi dovrai creare un file di testo, rinominarlo in seleziona.php (il nome lo puoi anche cambiare, basta che sia uguale a quello del form), metterci dentro questo codice e trasferirlo nella root del tuo sito:

    codice:
    <?php
    $partenza = $_POST['select1'];
    $arrivo   = $_POST['select2'];
    $pax      = $_POST['select3'];
    
    if ($partenza == "MI" && $arrivo == "PA" && $pax == "1") header("Location: pag01.htm");
    if ($partenza == "MI" && $arrivo == "PA" && $pax == "2") header("Location: pag02.htm");
    if ($partenza == "MI" && $arrivo == "PA" && $pax == "3") header("Location: pag03.htm");
    if ($partenza == "MI" && $arrivo == "PA" && $pax == "4") header("Location: pag04.htm");
    
    if ($partenza == "MI" && $arrivo == "VE" && $pax == "1") header("Location: pag05.htm");
    if ($partenza == "MI" && $arrivo == "VE" && $pax == "2") header("Location: pag06.htm");
    if ($partenza == "MI" && $arrivo == "VE" && $pax == "3") header("Location: pag07.htm");
    if ($partenza == "MI" && $arrivo == "VE" && $pax == "4") header("Location: pag08.htm");
    
    ...
    
    if ($partenza == "NA" && $arrivo == "BA" && $pax == "4") header("Location: pag64.htm");
    ?>
    Come vedi è molto semplice: le prime tre istruzioni prelevano i dati inviati dal form e li mettono in tre variabili e poi una lunga serie di if decide a quale pagina fare la redirect.
    Dovrai aggiungere tutte le if e tutte le combinazioni che ti servono e poi ovviamente preparare tutte le pagine di destinazione.

    Prima di tutto però devi accertarti che il server su cui è ospitato il tuo sito supporti il php, se non è così verifica se supporta almeno l'asp e in quel caso rivolgiti alla sezione apposita del forum (perché non conosco quel linguaggio), se non supporta né php né asp ...

    Tutto qui
    Se hai problemi scrivi pure in questa sezione o nella php a seconda del problema.
    Ciao

    La democrazia rappresentativa ha fatto il suo tempo, è ora di passare alla democrazia diretta.
    www.beppegrillo.it

  3. #3
    Ciao
    intanto ti ringrazio molto per la risposta esaurientissima...

    Ho provato il tutto e funziona, ma, in effetti, come giustamente dici, le variabili sono troppe per seguire questo sistema... dovrebbero continuare gli eventuali prossimi figli e nipoti...

    Effettivamente penso debba rivolgermi a soluzioni più sofisticate anche se costose... ma il mio "sapere" in informatica è limitato...

    Ok, vedo cosa trovo in giro e se ho tempo e voglia generare pagine dinamiche...
    Intanto grazie mille...
    bacino

    Nicole

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 © 2024 vBulletin Solutions, Inc. All rights reserved.