Visualizzazione dei risultati da 1 a 10 su 10

Discussione: Combobox collegate

  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    277

    Combobox collegate

    Ciao a tutti.

    Ho un semplice problema:

    ho una tabella REGIONI dove ho l'elenco delle regioni

    Una tabella PROVINCIE i cui campi sono:

    COD_RPOVINCIA, REGIONE.

    Vorrei fare due combo, dove nella prima seleziono la regione, nella seconda mi restituisce solo le provincie della regione selezionata.

    Come farlo in PHP+MYSQL? Si può fare senza usare js??

    Grazie mille per l'aiuto!

  2. #2
    Utente di HTML.it L'avatar di Razorblade
    Registrato dal
    Feb 2002
    Messaggi
    1,308
    Ciao,
    senza nessuna traccia di js è difficile...
    Utilizzandolo il meno possibile potresti utilizzare solo l'evento 'onchange', ovvero che alla selezione di una regione ti ricarica la pagina inviando in get la variabile dell'id regione, che sarà utile per creare la seconda combo con le provincie.

    Ciao

  3. #3
    No, non puoi farlo senza javascript. (a meno che tu decida di dividere il form in pagine, ma non è una grande strategia)

    La differenza tra scripting client-side e scripting server-side è basilare.

    Da quando in qua PHP permette di modificare la presentazione grafica e il codice HTML on fly?
    "Il problema delle citazioni su Internet è verificarne l'autenticità." (Winston Churchill)

  4. #4
    Originariamente inviato da Razorblade
    Ciao,
    senza nessuna traccia di js è difficile...
    Utilizzandolo il meno possibile potresti utilizzare solo l'evento 'onchange', ovvero che alla selezione di una regione ti ricarica la pagina inviando in get la variabile dell'id regione, che sarà utile per creare la seconda combo con le provincie.

    Ciao
    Con cosa rispondi all'evento, se non con javascript?
    "Il problema delle citazioni su Internet è verificarne l'autenticità." (Winston Churchill)

  5. #5
    Utente di HTML.it L'avatar di Razorblade
    Registrato dal
    Feb 2002
    Messaggi
    1,308
    Utilizzandolo il meno possibile potresti utilizzare solo l'evento 'onchange',
    Mi autoquoto, penso sia autoesplicativo.

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    277
    Ciao e grazie mille.

    Purtroppo le mie conoscenze di js sono un po' limitate...

    Supponiamo allora che lo script sia:
    Codice PHP:
               
    <HTML>  <HEAD>
      
    <
    meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
     </
    HEAD>
      <
    BODY >



    <
    select name='REGION'>
    <
    option value='1'>Toscana</option>
    <
    option value='2'>Lombardia</option>
    <
    option value='3'>Veneto</option>
    <
    option value='4'>Lazio</option>
    </
    select>
    </
    p>



    <
    select name='PROVINCIA'>
    <
    option value='1'>Firenze</option>
    <
    option value='2'>Roma</option>
    <
    option value='3'>Verona</option>
    <
    option value='4'>Livorno</option>
    </
    select>
    </
    p>

    </
    BODY 
    Dove region è preso da una tabella i cui campi sono:

    REGION_ID, REGION_DESC

    e PROVINCIA è preso da una tabella i cui campi sono:

    REGION_ID, PROV_ID, PROV_DESC.

    Come potrei implementare quanto detto?

  7. #7
    Utente di HTML.it L'avatar di Razorblade
    Registrato dal
    Feb 2002
    Messaggi
    1,308
    Allora,
    siccome dici di aver pochissime conoscenze di js potresti fare così:

    alla prima entrata

    Codice PHP:
    <HTML>  <HEAD>
      
    <
    meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </
    HEAD>
      <
    BODY >



    <
    select name='REGION' onchange="javascript:location.href='index.php?id_regione=' + this.options[this.options.selectedIndex].value">
    <
    option value='1'>Toscana</option>
    <
    option value='2'>Lombardia</option>
    <
    option value='3'>Veneto</option>
    <
    option value='4'>Lazio</option>
    </
    select>
    </
    p>



    <
    select name='PROVINCIA'>
    </
    select>
    </
    p>

    </
    BODY 
    Alla selezione della regione la pagina si ricaricherà portando in GET l'id regione selezionato che userai per comporre la select delle provincie.
    Nota che la pagina index.php è il nome del tuo file quindi devi modificare quella parte se il tuo file nn sichiama index.php.
    Nota anche che nn ho testato questo codice ( ma dovrebbe funzionare ).

    Esistono diversi altri metodi per gestire la selezione di regioni provincie comuni, ad esempio potresti utilizzare ajax ( e quindi js ) per comporre le combo senza far ricaricare la pagina o in alternativa utilizzare una tabella ricorsiva stati-regioni-provincie-comuni e utilizzare solo l'evento onchange come in questo caso.
    Ciao

  8. #8
    Gh
    "Il problema delle citazioni su Internet è verificarne l'autenticità." (Winston Churchill)

  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    277
    Ti ringrazio, lo provo subito!

    Ma in pochissime parole, cos'è Ajax di preciso?

  10. #10
    Utente di HTML.it L'avatar di Razorblade
    Registrato dal
    Feb 2002
    Messaggi
    1,308
    In pochissime parole?
    è un metodo per prendere dei dati da qualche parte senza ricaricare la pagina ed utilizzarli nella pagina stessa ( usando una tecnologia che si chiama DOM ).

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.