Grazie a quanti vorranno eventualmente darmi qualche indicazione.

Ho due select dinamiche grazie a jQuery e Ajax, per ottenere le prestazioni erogabili da un reparto ospedaliero.
Se seleziono il reparto (la prima select), viene correttamente popolata la seconda select (quella dei prestazioni); però - e qui sta il problema - se successivamente seleziono una prestazione dalla seconda select, la query che viene passata al file php non valorizza la variabile prestazioneid (verificato con Firebug) e dunque non restituisce il riepilogo finale.
La cosa pazzesca è che se agisco direttamente sulla seconda select (quella delle prestazioni) la variabile prestazioneid viene correttamente valorizzata!

Questo il codice html:

codice:
<!-- 
###########
SELECT REPARTI
###########
-->



<label for="reparto">reparto:</label>

<select id="reparto" name="reparto" onchange="selReparto(this.value);">
<option value="" selected="selected">-- seleziona --</option>
<?php

// Query selezione reparti. 
$sql = "select * from reparti order by reparto"; 

// Eseguo la query. 
$result = mysql_query($sql, $conn); 
while($reparto = mysql_fetch_array($result)) {
?>
<option value="<?php echo $reparto['id']; ?>"><?php echo $reparto['reparto']; ?></option>
<?php
}
?>
</select>
</p>

<!-- 
###########
SELECT PRESTAZIONI 
###########
-->



<label for="prestazioni">Prestazione:</label>

<select id="prestazioni" name="prestazioni" onchange="selPrest(this.value);">
<option value="" selected="selected">-- seleziona --</option>
<?php

// Query selezione tutte le prestazioni. 
$sql = "select * from generale order by PRESTAZIONE"; 

// Eseguo la query. 
$result = mysql_query($sql, $conn); 
while($prestazione = mysql_fetch_array($result)) {
?>
<option value="<?php echo $prestazione['PRESTAZIONE']; ?>"><?php echo $prestazione['PRESTAZIONE']; ?></option>
<?php
}
?>
</select>
</p>

<!-- 
###########
RIEPILOGO
###########
-->



<label for="riepilogo">Riepilogo:</label>

<p id="riepilogo"></p>
</p>
Questo invece il Javascript/Ajax per generare dinamicamente le select:

codice:
// Select delle prestazioni. 
function selReparto(idreparto) {
  // Seleziono le prestazioni di questo reparto. 
  $.get("select_3.php", { repartoid: idreparto, requestItems: 'prestazioni'}, 
  function(dataprestazioni){
    $("select[id='prestazioni']").empty();
    var options = '<option value="">-- seleziona --</option>';
    var arrayprestazioni = dataprestazioni.split('||');
    for (var i = 1; i < arrayprestazioni.length; i++) {
      var prestazione = arrayprestazioni[i].split(/,/);
      options += '<option value="' + prestazione[0] + '">' + prestazione[1] + '</option>';
    }
    $("select[id='prestazioni']").html(options);
  });

}

// Select di una prestazione. 
function selPrest(nomePrest) {
  // Seleziono una prestazione. 
  $.get("select_3.php", { prestazioneid: nomePrest, requestItems: 'prestazione'}, 
  function(dataPrestazione){
    $("p[id='riepilogo']").empty();
    var options = '

</p>';
    var arrayPrestazione = dataPrestazione.split('||');
    for (var i = 1; i < arrayPrestazione.length; i++) {
      var prestazione = arrayPrestazione[i].split(/,/);
      options += '

' + prestazione[0] + '</p>' + '

' + prestazione[1] + '</p>';
    }
    $("p[id='riepilogo']").html(options);
  });
}
E infine il codice del file php richiamato da $.get per interagire con MySQL:

codice:
// Seleziona le prestazioni di un reparto. 
include("dbconfig.php");

if (isset($_GET['repartoid']) and is_numeric($_GET['repartoid'])) {
  if (isset($_GET['requestItems']) and $_GET['requestItems']==='prestazioni') {
    $repartoID = intval($_GET['repartoid']);
    $query = <<<EOQ
SELECT * 
FROM generale 
WHERE id_reparto = '$repartoID' 
ORDER BY PRESTAZIONE
EOQ;
    $result = mysql_query($query, $conn);
    $returnprestazioni = '';
    while ($row = mysql_fetch_array($result)) {
      $returnprestazioni .= "||".$row['id'].",".$row['PRESTAZIONE'];
    }
    print_r($returnprestazioni);
  }
}
//seleziona la prestazione scelta 
else if (isset($_GET['prestazioneid'])) {
  if (isset($_GET['requestItems']) and $_GET['requestItems']==='prestazione') {
    $prestazioneID = $_GET['prestazioneid'];
    $query = <<<EOQ
SELECT * 
FROM generale 
WHERE PRESTAZIONE = '$prestazioneID' 
ORDER BY PRESTAZIONE
EOQ;
    $result = mysql_query($query, $conn);
    $returnPrestazione = '';
    while ($row = mysql_fetch_array($result)) {
      $returnPrestazione .= "||".$row['PRESTAZIONE'].",".$row['EROGABILE'];
    }
    print_r($returnPrestazione);
  }
}