Newsgroup: it.comp.www.php
Titolo: [OT?] riempire combo in cascata

Salve a tutti,
    dovrei fare in modo che a seconda del valore scelto in una combobox, una
seconda combo mi visualizzi dei valori correlati:
1^combo scelgo pippo, la seconda deve contenere: 1,2,3
1^combo scelgo pluto, la seconda deve contenere 4,5,6
Come posso fare il tutto in php senza mettere usare una pagina intermedia?
Grazie 1000 a tutti
Dade

Come posso fare il tutto in php senza mettere usare una pagina intermedia?
i valori pippo, pluto, 1, 2...6
sono in un db?

Secondo me ti conviene usare Javascript....

 ha scritto nel messaggio 
news:0otip11ip5imks7in...@4ax.com...

si esatto! Spezzati in piu' tabelle
Ciao
Dade


E come? Non sono molto esperto... Ho visto tempo fa in un sito che 
addirittura era possibile anche nascondre dei controlli... ma purtroppo non 
ho piu' il link!
Ciao
Dade 



scusa, se sono in un db, non ti conviene aprire una connessione
e ricreare i controlli a run time?

 ha scritto nel messaggio 
news:ic9jp1d0vi51hi4cu...@4ax.com...

in questo modo dovrei mettere una pagina intermedia e vorrei evitarlo...
ciao e grazie
Dade 

 in questo modo dovrei mettere una pagina intermedia e vorrei evitarlo...
Potresti usare Ajax; non sono un esperto (lo sto usando da due giorni), 
ma in questo tutorial trovi secondo me tutto quello che devi sapere!
http://www.phpnews.it/content/view/267/80/


perche' scusa... non pui mettere nella tua pagina che deve contenere i
controlli qualcosa del genere:
	$SQL="select * from $tabella order by descrizione";
	$risultato=mysql_query($SQL);
	echo "<select name='$nomecombo' size='1'>";
 
	while ($riga = mysql_fetch_assoc($risultato)) {
		echo "<option value='";
		echo $riga["id"];
		echo "'>";
		echo $riga["descrizione"];
		echo "</option>";
    	}
	mysql_free_result($risultato);
	echo "</select>";	
e per l'altro combo inserisci nella "where" la condizione opportuna...

e per l'altro combo inserisci nella "where" la condizione opportuna...
ovviamente il valore del combo lo otterrai con javascript, dovrebbe
essere qualcosa del tipo nomecombo.value
ma nn sono proatico di javascript!

 ha scritto nel messaggio 
news:hl3lp1to8ot8l909o...@4ax.com...

Beh ma questa soluzione va bene se la combo padre e la combo figlio sono in 
2 pagine diverse sbaglio?
quindi io nella prima pagina avrei un form che passa il valore scelto nel 
combo ad uno script/pagina simile a quella che hai detto tu. Questo 
significa che le 2 combo devo dividerle su 2 pagine diverse. Io questo lo 
vorrei evitare. Vorrei magari formattare tutti i dati a priori poi passare 
tutto ad una pagina che riempe la combo figlio a seconda del valore scelto 
nella combo padre.
spero di essermi spiegato e che la cosa sia possibile!
Ciao e grazie dell'aiuto
Dade 

nella combo padre.
no, perchè vuoi metterle in due pagine?
il valore del primo combo lo recuperi con javascript, non inviando il
modulo con una form.
Spero che qualcuno piu' forte su javascript mi dia ragione...
voi che ne pensate?

 voi che ne pensate?
si, è tutto molto semplice.
questo [1] dovrebbe fare al caso tuo, se ho capito il problema ;)
[1] 
http://www.dynamicdrive.com/dynamicindex16/chainedselects/index.htm
-- 
Alessandro aka aleinside
Icq: 68536941 - Jabber: 
alei...@jabber.linux.it
Web: 
http://www.aleinside.net
 - 
http://www.forumolimpia.it
GPG Key [ID: 0x932D9622] available @ 
keyserver.linux.it

Dade ha scritto:

La soluzione dipende dal tipo di dati contenuto nei combo ed ai clienti 
a cui ti rivolgi:
1) Usando javascript puoi precaricare tutte le possibili scelte 
direttamente nella pagina, poi la scelta di un combo, seleziona 
automaticamemte la lista corrispondente.
Pro: tutto avviene lato client ed è quindi estremamente veloce.
Contro: Se il cliente non ha attivo javascript non funziona, Se le 
combinazioni delle scelte sono tanti la pagina diventa lentissima 
(esempio marca, modello, allestimento di tutte le auto in circolazione)
2) Usando tecniche Ajax (un javascript che invia con una get o una post 
dei dati ad una pagina che riporta i risultati trovati.... tutto in modo 
invisibile al cliente).
Pro: Tutto molto veloce e in ogni momento perfettamente sincronizzato al 
server, la pagina carica solo i dati necessari e quindi la pagina non 
risulta appesantita
Contro: Se il cliente non ha attivo javascript non funziona
3) Ricaricando i dati dell'intera pagina, selezionando gli appositi dati 
(tutto svolto da PHP)
Pro: Questa tecnica funziona SEMPRE E COMUNQUE, la pagina carica solo i 
dati necessari e quindi la pagina non risulta appesantita
Contro: Tutte le volte che avviene una scelta devi ricaricare la pagina
P.S.
Nei post ti hanno elencato tutti e tre i modi che puoi utilizzare, non 
ti resta che scegliere quello più adatto al tuo caso :-)
Ciao
Gianni