• User Newbie

    php + javascript (forse....)

    **Ciao a tutti/e
    **Gestisco un sito in php + mysql che permette alle aziende della Lombardia di iscrivere i propri dipendenti a corsi gratuiti di formazione (finanziati dalla regione stessa).
    In fase di iscrizione l' azienda sceglie il periodo e il macroargomento del corso, poi per motivi burocratici l' iscrizione viene gestita in cartaceo (no comment...)
    Ora vorrei sviluppare la procedura di iscrizione in modo da renderla totalmente informatizzata, quindi mi servirebbe qualche suggerimento per creare menu' a tendina dinamici nel mio form .
    In sostanza a seconda del periodo scelto i macroargomenti possono cambiare, inoltre alcuni macroargomenti si dovrebbero poter specificare in argomenti di dettaglio.
    Ho gia' :

    1. Un db contenente tutti i dati delle aziende e dei dipendenti gia' "preiscritti"
    2. Nel db ho gia' creato una tabella con i titoli dei macroargomenti (es. Informatica, Lingue, Marketing) e i contenuti (es. Office, Inglese, Piano di marketing ecc.)
    3. Un form che permette all'azienda di selezionare il dipendente e chiede di indicare il periodo (due radio button)

    a questo punto vorrei inserire due menu' a tendina, il primo che, a seconda del periodo scelto mi faccia vedere i macroargomenti previsti, il secondo che, scelto il macroargomento, mi mostri gli argomenti specifici...
    A complicare le cose c'e' anche questa, l'azienda deve indicare almeno 3 preferenze sui macroargomenti e puo' benissimo scegliere di far fare un corso in un periodo e un altro o altri due nel secondo periodo.......
    Ho cercato a lungo ma ho trovato esempi solo per asp e/o dreamweaver, ma nulla con php.......
    qualcuno ha qualche idea da darmi ?
    grazie
    Alessandro


  • Bannato User Attivo

    Beh si può fare come hai detto anche tu.... facendo un modulo sia con controlli lato client che lato server.

    Più in particolare potresti, ad esempio, creare prima una pagina normale con le due voci. Selezione dopo aver indicato un macro argomento ecc...

    Tipo: selezioni un argomento? tramite javascript, sfruttando onChange(), potresti richiamare la stessa pagina però aggiungendo due parametri. Il primo che indica la ricerca secondo macro argomento e nell'altra mettere l'identificativo di questo argomento.

    In base a questo, poi, il server restituirà l'elenco delle voci disponibili.

    Stessa cosa per il resto...


  • User Newbie

    Grazie per la risposta, in effetti già sapere che è possibile combinare php e javascript è una bella notizia.......
    Proverò a sviluppare l' evento onChange() come suggerisci
    (magari "barando" cioè utilizzando Dreamweaver) poi farò sapere

    qualcun altro ha nulla da aggiungere ?

    ciao

    AV


  • User Newbie

    @ale221074 said:

    Ho gia' :

    1. Un db contenente tutti i dati delle aziende e dei dipendenti gia' "preiscritti"
    2. Nel db ho gia' creato una tabella con i titoli dei macroargomenti (es. Informatica, Lingue, Marketing) e i contenuti (es. Office, Inglese, Piano di marketing ecc.)
    3. Un form che permette all'azienda di selezionare il dipendente e chiede di indicare il periodo (due radio button)

    Risolto!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Praticamente mi autoquoto : ho risolto inserendo nell' <head> della pagina il seguente codice

    <script type="text/javascript">
    function selezione(selezionata){
    ar_uno=new Array();
    ar_due=new Array();
    ar_tre=new Array();
    ar_uno[0]=new Option('uno1','uno1');
    ar_uno[1]=new Option('uno2','uno2');
    ar_uno[2]=new Option('uno3','uno3');

    ar_due[0]=new Option('due1','due1'); 
    ar_due[1]=new Option('due2','due2'); 
    ar_due[2]=new Option('due3','due3'); 
    
    ar_tre[0]=new Option('tre1','tre1'); 
    ar_tre[1]=new Option('tre2','tre2'); 
    ar_tre[2]=new Option('tre3','tre3'); 
    
    if(selezionata=="uno")array_rif=ar_uno; 
    if(selezionata=="due")array_rif=ar_due; 
    if(selezionata=="tre")array_rif=ar_tre; 
    for(i=0;i<array_rif.length;i++)document.form1.seconda.options*=array_rif*; 
    

    }
    </script>

    poi imposto il form in modo da includere sull' evento onChange (javascript) del primo menu' il cambiamento dei valori nel secondo menu' grazie agli array creati

    <form name="form1">
    <select name="prima" onChange="selezione(this[this.selectedIndex].value)">
    <option value="uno">UNO</option>
    <option value="due">DUE</option>
    <option value="tre">TRE</option>
    </select>
    <select name="seconda">
    <option value="uno1">uno1</option>
    <option value="uno2">uno2</option>
    <option value="uno3">uno3</option>
    </select>

    Fantastico !!! per la cronaca il codice l' ho trovato e poi l' ho modificato per le mie esigenze


  • User Newbie

    ....... mi sembrava troppo semplice .........
    purtroppo il "trucco" funziona solo se i valori nei due array sono diversi, basta che anche uno solo dei valori si ripeta e il menu' tendina continua ad aggiornarsi ma **ripetendo i valori.
    **Ora mi domando (e domando): come si fa confrontare i valori di due array ????

    ciao

    AV