[PHP] Select con opzioni dipendenti da un'altra select

GiovannySorr

Nuovo Utente
23 Mag 2019
3
0
1
Salve, sono nuovo sia nel forum che nel "Fare Web".
Premetto che ho letto gli altri articoli simili al mio (quello quasi identico è uno del 2011) e non ci sono state risposte.
In breve, dovrei andare a creare una select i cui campi dipendano da un altra select.
Un po' come quando ci si registra su un sito web e in base alla regione scelta ti permette di scegliere la provincia.
Non so proprio come fare a richiamare i valori della prima select (l'option scelta) per andare a crearmi la seconda, per come continuare la scrittura del codice ho già pensato a varie soluzioni e penso possano funzionare.
Ho provato a trasmettere l'opzione scelta attraverso le costanti php, gli array.. ma non riesco.
Inserisco dei segmenti di codice provati che magari possono aiutare a farvi capire cosa voglio fare, non inserisco per intero per non annoiarvi.
Grazie mille anche solo per aver letto fin qui.

Esempio costanti PHP:

PHP:
define ("italiano", "italiano");
define ("storia", "storia");

Prova Array:


PHP:
$materie=array("italiano","storia","matematica","informatica","sistemi","gpoi","tpsi");
// Per poi provare ad usare il ciclo ForEach
foreach($materie as $materia) {
echo "<option value='$materia'> $materia </option>";
}
// E uno "Switch"
switch ("$materia"){
    case "Italiano":
    echo' <option value="Questione Meridionale"> Questione Meridionale </option>
<option value="Prima Guerra Mondiale"> Prima Guerra Mondiale </option> ';

// ect..


Potreste aiutarmi in qualche modo? Grazie mille.

Di seguito il codice della prima select:

HTML:
<form method="POST" action="boh.php">
        <p align='center'>
        Scegli la materia che ti interessa  dalla lista
        </p>

        <p align='center'>
        <select name="materia">
        <option value='vuoto'> Materia </option>
        <option value="Italiano"> Italiano </option>
        <option value="Storia"> Storia </option>
        <option value="Sistemi"> Sistemi </option>
        <option value="Informatica"> Informatica </option>
        <option value="Tpsi"> Tpsi </option>
        <option value="Gpoi"> Gpoi </option>
        </select>

Adesso, in base a questa select dovrei andare a crearmi la seconda, con valori variabili in base alla materia selezionata.
Un esempio potrebbe essere (Questa select è costante, ma dovrebbe essere variabile in base al valore scelto nella prima select):

HTML:
<select name="argomento">
<option value='vuoto'> Argomento </option>
<option value="Questione Meridionale"> Questione Meridionale </option>
<option value="Prima Guerra Mondiale"> Prima Guerra Mondiale </option>
<option value="Dittature del 900"> Dittature del 900 </option>
<option value="Seconda Guerra Mondiale"> Seconda Guerra Mondiale </option>
<option value="Guerra Fredda"> Guerra Fredda </option>
</select>
 

macus_adi

Utente Attivo
5 Dic 2017
1.343
91
48
IT/SW
Dovresti utilizzare ajax se vuoi farlo attraverso chiamate asincrone senza ricaricare la pagina, in alternativa fai degli step per poter procedere..
Spiego meglio:
Step1-
Form generale Get/Post
Step 2
Prelevo i dati dello step1 ed elaboro l'utput
Step3 - puoi finire allo step 2
Invio tutti i dati
___________
più in generale:
Step1 -> pagina.php
selezione i dati e premo avanti
Step 2 (caso get)-> pagina.php?mio_parametro=2
effettuo il rendering della seconda select valorizzando il necessario con "mio_parametro "

Step 3 (non necessario si potrebbe finire allo step2) invio tutti i dati.

In ajax esce un pò più elegante, ma forse non è questo il luogo per parlare di JS.
 
  • Like
Reactions: GiovannySorr

GiovannySorr

Nuovo Utente
23 Mag 2019
3
0
1
Dovresti utilizzare ajax se vuoi farlo attraverso chiamate asincrone senza ricaricare la pagina, in alternativa fai degli step per poter procedere..
Credo di aver capito, vado subito a provare.
Invierò un altro messaggio per farti/farvi sapere com'è andata a finire (Casomai ti ritrovi di nuovo sulla discussione quando hai tempo da perdere).
Grazie mille
 

GiovannySorr

Nuovo Utente
23 Mag 2019
3
0
1
Dovresti utilizzare ajax se vuoi farlo attraverso chiamate asincrone senza ricaricare la pagina, in alternativa fai degli step per poter procedere..
Spiego meglio:
Step1-
Form generale Get/Post
Step 2
Prelevo i dati dello step1 ed elaboro l'utput
Step3 - puoi finire allo step 2
Invio tutti i dati
___________
più in generale:
Step1 -> pagina.php
selezione i dati e premo avanti
Step 2 (caso get)-> pagina.php?mio_parametro=2
effettuo il rendering della seconda select valorizzando il necessario con "mio_parametro "

Step 3 (non necessario si potrebbe finire allo step2) invio tutti i dati.

In ajax esce un pò più elegante, ma forse non è questo il luogo per parlare di JS.
Risolto in questo modo alla fine, Grazie Mille <3
 
Discussioni simili
Autore Titolo Forum Risposte Data
M [PHP] Problema con query select PHP 2
M [PHP] Problemi con select PHP 6
G sql select con array in php PHP 1
maxnegri Sommare i prezzi dei prodotti aggiunti al carrello di diverse aziende con Select sum php mysqli PHP 10
webmachine [PHP][MYSQL] Problema con le SELECT PHP 5
D Sono disperato: Menu select dinamici con Ajax e PHP PHP 1
D Sono disperato: Menu select dinamici con Ajax e PHP Ajax 2
E Modulo PHP con campi Select PHP 7
asevenx [PHP] form con select che non invia dati se con apostrofo PHP 4
asevenx [PHP] select dinamica con valori estratti dal database in base alle scelte precedenti PHP 3
N Visualizzazione record in PHP con SELECT GROUP BY PHP 3
R PHP select con file excel PHP 7
H Problema con MySQL e PHP, dopo aver fatto una SELECT non ottengo alcun risultato PHP 7
F stampare una select con php PHP 7
F Problema select dinamiche con php e jquery jQuery 1
C Select dinamica con PHP PHP 10
L Select Option con php PHP 7
N Select dinamica con utilizzo di php e JQuery jQuery 5
M select dinamiche con Jquery e php jQuery 9
M problema con select jquery e php PHP 0
W [Php - MySql] ricerca con form select diversi PHP 14
S [PHP] Riempire una casella select con query SQL PHP 11
G Colorare menu select attraverso ricerca php PHP 0
F menù select dinamico da db in php PHP 3
E Php select option e ajax PHP 23
Emix Select concatenate php sql ajax PHP 2
J php, scegliere autista da select e mostrare se ha fatto un incidente PHP 8
T [PHP] Autocompilazione input multiple da una select PHP 1
Alex_70 [PHP] Visualizzare foto tramite select PHP 0
S [PHP] aggiornamento table tramite select senza ricaricare la pagina PHP 5
C [PHP] Controllo <select> comportamento anomalo PHP 2
M [PHP] Drop down in campo select PHP 1
D [PHP] Select dinamici PHP 2
L [PHP] Form da select compilare campi automaticamente PHP 1
T [php] problema creazione query select-where PHP 5
Monital [PHP] query update e select insieme ma frazionando l'arrray PHP 12
S [PHP] restituire intera frase da una select PHP 7
A [PHP] select a cascata regione province e comuni PHP 5
A [PHP] Errore select dati da db PHP 0
maxnegri [PHP] Eliminare risultati duplicati da ciclo foreach ottenuti da una select php mysqli PHP 18
L [PHP] SELECT DINAMICA PHP 0
A [Javascript] Select concatenata php csv Javascript 3
MatMac System [PHP] Gestione dinamica select-option PHP 3
P [PHP] Recuperare dati da una <select> PHP 4
bubino8 [PHP] Select multipla su piu tabelle PHP 3
Emix [PHP] Check - Select e recupero variabili PHP 40
MikSkagit [PHP] Doppio SELECT PHP 10
eraclio666 [PHP] 2 SELECT DINAMICHE PHP 8
T PHP+MYSQL: una select che cerchi un campo vuoto PHP 7
trattorino [PHP] Select tre tabelle collegamento PHP 9

Discussioni simili