ovvero?
io farei cosi allora.
ho una select del tipo:
Codice PHP:
<select onchange="getValori(this.options[this.selectedIndex].value);">
<option value="1">Valore 1</option>
<option value="2">Valore 2</option>
<option value="3">Valore 3</option>
</select>
ed un'altra che verra popolata successivamente
Codice PHP:
<select id="sel2">
<option value="">Selezionare un valore</option>
</select>
come puoi vedere sull'onchange della prima select viene richiamata una funzione getValori(this.options[this.selectedIndex].value)
Questa funzione effettuerà una chiamata ajax al server e servera successivamente per popolare la successiva select.
Per fare ciò io utilizzo il framework JQuery, risparmiando un bel po di tempo e codice.
Codice PHP:
<script type="text/javascript">
function getValori(valore)
{
$.post("pagina_server.php", { value: valore },
function(data){
document.getElementById('sel2').innerHTML=data;
});
}
</script>
questa funzione invia alla pagina pagina_server.php il valore scelto nella prima select.
Ora non resta che effettuare una query sulla pagina php impostando come parametro di where quello che arriva dalla richiesta ajax:
Codice PHP:
$sql= "select ....." where valore = ".$_POST['value'];
//dopo aver fatto tutto il valore per la query cicli il risultato e lo immagazzini in una variabile
$out = "";
for($i=0;$i<$num_record;$i++){
$out.= "<option value='".$array['id']."'>".$array[$valore]."</option>";
}
//successivamente stampi la variabile
echo $out;
questo è solo un modo. ce ne sono centinaia magari utilizzando l'oggetto JSON molto ma molto piu comodo