Ciao a tutti!
Allora vorrei porre una domanda...

Ho trovato in rete uno script per le select dinamiche in ajax.
L'ho modificato e adattato alle mie esigenze (solo due select, non tre) e ho apportato qualche modifica al codice.

Ora mi ritrovo con tre file:
1) uno php che contiene il form seguente:
Codice PHP:
<script type="text/javascript" src="listspren.js"></script>

<form name="modulo" enctype="multipart/form-data" action="pagina.php" 
 method="post" >

<label for="pren">Prenotazione</label>

<select name="pren" id="pren" onChange="loadList('pren1', getSelected(this))"  >
</select>

<label for="pren1">Bla bla bla</label>

<select name="pren1" id="pren1">
</select>




<input type="submit" name="Submit" value="Procedi"> 



<script type="text/javascript">
//<![CDATA[
loadList('pren', 0);
//]]>
</script>
    
</form> 
ecco adesso il file listspren.js contiene funzioni ajax, tra cui la loadlist mi invia al terzo file (requestpren.php) il nome della tabella e l'id.
Codice PHP:
function loadList(tbid){
xmlHttp.open('GET''requestpren.php?table='+tb+'&id='+idtrue);
xmlHttp.onreadystatechange stateChanged;
xmlHttp.send(null);

il file requestpren.php riceve il nome tabella e l'id e fa due query diverse in base al nome della tabella passata (la prima se si tratta della prima tabella -> prima select ... la seconda se ho già scelto il valore nella prima select e allora mi andrà a riempire la seconda select con i valori della seconda tabella)...
Codice PHP:
session_start();
require 
'dbconfig.php';
$conn mysql_connect(DB_HOSTDB_USERDB_PASSWORD) or die;
mysql_select_db(DB_NAME) or die;
//I valori in input vanno verificati
//id deve essere un valore numerico
$pid = (int)$_REQUEST['id'];
//maschera  eventuali caratteri speciali in table 
$tb mysql_real_escape_string($_REQUEST['table'], $conn);

switch(
$tb) {
    case 
'pren':
        
$sql="SELECT ....
        FROM `
$tb`
        WHERE ..... 
        ORDER BY ....;
        break;
        
        case 'pren1':
        
$sql="SELECT ....
FROM `$tbWHERE ... ORDER BY ....";
        break;
    
}
//Il primo elemento della risposta è il nome della tabella (= attributo ID del tag select)
$out="$tb;";
if(
$result = mysql_query($sql$conn)) {
    while (
$row = mysql_fetch_row($result)) {
        
$out .= $row[0] . '|' . $row[1] . ';';
    }
}
//Rimuove il carattere ; in coda
echo rtrim(
$out, ';');
?> 
Ok, fin qua tutto bene e funziona!
Ma la mia domanda è... se volessi prendere i dati da riempire le due select dalla stessa tabella e non da due, come posso fare? Perchè ovviamente se metto il nome della stessa tabella es. pren , in request.php nello switch sarebbero due case pren e quindi non saprebbe dove andare o cosa fare (in effetti provando non va a funzionare il riempimento della seconda select...).

Qualcuno di voi ha mica un' idea?