Newsgroup: it.comp.lang.javascript
Titolo: Solito POST : Popolare 2° select con dati DB MYSql PHP Javascript

scusate ma sto andando fuori di testa ......
qualcuno è mai riuscito a fare una cosa simile ? continuo a leggere messaggi 
inviati a tutti gli NG , ma nessuno che dà un suggerimento chiaro e preciso. 
Io ci sto buttando la testa da 2 giorni : ho letto tutto il leggibile , ma 
ho le idee veramente confuse.
Quello che ho scritto senza javascript :
$content .= "<td><select name=\"sta\">";
$content .= "<option>*</option>";
$result3 = $db->sql_query("SELECT DISTINCT stato FROM 000campi");
while ($row = $db->sql_fetchrow($result3))
{
$stato = $row['stato'];
$content .= "<option>$stato</option>";
}
$content .= "</td></tr></select>";
$content .= "<tr><td nowrap>Reg</td> ";
$content .= "<td><select name=\"regi\">";
$content .= "<option>*</option>";
$result3 = $db->sql_query("SELECT DISTINCT regione FROM ". $prefix . 
"_000campi ORDER BY regione");
while ($row = $db->sql_fetchrow($result3))
{
$regione = substr($row['regione'],0,11);
$content .= "<option>$regione</option>";
}
$content .= "</td></tr></select>";
facendo così le regioni visualizzate sono naturalmente tutte.
Idee : fare uno script in javascript per fare la query sul database in base 
al valore scelto della 1° select e poi passare il risultato in un array che 
sarà base dati per la seconda select . sono sulla pista giusta ?
problema : dovrei sempre cancellare l'array delle regioni prima di popolarlo 
nuovamente ? come faccio a popolare la seconda select ?
grazie 

 nuovamente ? come faccio a popolare la seconda select ?
Dunque, i problemi sono:
a) fare una query su un db in base alla prima scelta. Ma questa domanda è:
come farla via javascript senza cambiare pagina? Perché se cambi pagina è
solo questione di php (fai la query in base alla Request.Form passata così
filtri le regioni).
   Se (come immagino) la domanda è come popolarla senza cambiare pagina, la
risposta è xmlhttprequest, vedi
 
http://www.criosoftware.it/defaultTIxmlhttp.aspx
Puoi anche dare un occhio a rs di Brent Ashley (cerca questo nome con
google)
b) cancellare la select: sempre supponendo che non cambi pagina immagino di
sì, ma questa parte è il minimo, puoi partire da qua ma in rete troverai
migliaia di esempi:
 
http://www.criosoftware.it/default12.aspx
-- 
"Emancipate yourselves from mental slavery;
None but ourselves can free our minds"
									    B.M.

Una domanda : posso usare xmlhttprequest con PHP su server linux (sono su 
host Aruba) 

Ti ringrazio per la risposta immediata . In effetti non voglio ricaricare la 
pagina, dato che uso php-nuke e il codice che ho incollato fa parte di un 
blocco . Ricaricando la pagina ricaricherebbe tutta la home - page ed è 
abbastanza pesante.
Prova a guardare i link ce mi hai mandato . ti rompo le scatole se non 
capisco come fare.
grazie di cuore . 

 host Aruba)
Direi proprio di sě, devo solo scoprire la sintassi corretta per php lato
server (nell'esempio che ti ho postato la parte server-side, peraltro
davvero minimale, č fatta in jscript). 
Non penso sia un problema (ma non so aiutarti, anzi contraccambia: se rifai
l'esempio server-side php passamelo cosě lo metto come alternativa nel sito
[e ovviamente ti cito se mi dai l'ok])
-- 
"Ti sei salvato
 o sei entrato in banca pure tu?"
									    A.V.

Un amico di penna mi ha parlato di Ajax 
http://www.modernmethod.com/sajax/
io non ci sto capendo una mazza . 

 host Aruba)
XmlHttpRequest č un componente client, non server. Al server arriva una
richiesta; gli importa assai chi o cosa l'ha fatta.
Quindi, e ci tengo a sottolinearlo, l'uso di XmlHttpRequest č
*strettamente* legato al client. Non č uno standard, e non tutti i browser
hanno il supporto di questo tipo di tecnologia, o non ce l'hanno in modo
corretto.
Quindi, se stiamo parlando di applicazione intranet, o applicazione
amministrativa web-based (contesti in cui si ha una sicurezza sul tipo di
browser usato dagli utenti) te lo consiglio senza riserve.
Nel caso invece si stia parlando di un *sito* web, non č da consigliare
cosě a cuor leggero.
-- 
var SEI	= "1+5", NOVE = "8+1";
// dump TheAnswerToLifeTheUniverseAndEverything :
alert("Cosa ottieni moltiplicando "+
	eval(SEI)+" per "+eval(NOVE)+"? "+eval(SEI+"*"+NOVE));

Mi serve per un sito internet , ma non mi farei molte menate per la 
portabilità . se funziona con IE e firefox basta e avanza
puoi darmi un paio di dritte in + ? 

 puoi darmi un paio di dritte in + ?
Non più di quelle che ti ha già dato Cristiano. Cercando XmlHttpRequest su
google e in questo NG troverai tonnelate di argomenti ed esempi che possono
fare al caso tuo.


 io non ci sto capendo una mazza . 
 se vuoi farlo in php 
jpspan.sourceforge.net
 e' //abbastanza semplice//
da utilizzare ...
-- 
E' una scelta molto semplice: Vita, Morte, o Los Angeles.

Volevo ringraziare tutti . Sto facendo delle prove (mi sta dando una mano un 
amico) se riesco posto il risultato del problema.