ciao
potresti provare (ocio ho detto provare) a fare una cosa del genere, ho "cercato" di adattare quello che ho copiato per le regioni/province/comuni.
però non so assolutamente se funziona (@max1 potrebbe darci un occhio)
quindi due pagine php.
una con il form con la select e il campo che si dovrebbe riempire con la scelta
PHP:
<!DOCTYPE HTML>
<html>
<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function(){
prezzi();//comuni()
$("select").change(function(){
prezzi();//comuni()
})
})
function prezzi() { //comuni()
$.ajax({
type: "POST",
url: "ricerca.php",
data: $("#ricerca").serialize(),
success: function(response){
eval(response);
}
});
}
</script>
<head>
<body>
<?php
if(isset($_POST['invia'])){
var_dump($_POST['sezione']);
var_dump($_POST['prezzo']);
//i vari controlli necessari ecc....
}
?>
<form id="ricerca" action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">
<select name="servizio">
<option value=""></option>
</select>
<input name="prezzo" type="text" value="">
<br>
<input type="submit" name="invia" value="invia">
</form>
</body>
</html>
e una pagina ricerca.php che riempie il campo prezzo in funzione della scelta
PHP:
<?php
// recupero vaolori delle select
$servizio = $_REQUEST['servizio'];
require_once "../_connessione/connessione.php";
$query = mysql_query("SELECT * FROM servizi ORDER BY sezione");//la tabella in cui hai le varie sezioni
// svuoto la select regione
echo "$('select[name=\"servizio\"]').empty();";
// aggiungo una option vuota
echo "$('select[name=\"servizio\"]').append('<option value=\"\">↓ ↓</option>');";
while ($row = mysql_fetch_array($query)) {
// imposto il selected sull'eventuale regione scelta
$selected = "";
if ($row['id'] == $servizio) {
$selected = "selected=\"selected\"";
}
// popolo la select
echo "$('select[name=\"servizio\"]').append('<option $selected value=\"" . $row['id'] . "\">" . ($row['servizio']) . "</option>');";
}
// se è stata scelta una regione
if (!empty($sezione)) {
// estraggo il prezzo della sezione scelta
//$query = mysql_query("SELECT prezzo FROM servizio WHERE id_servizio ='$servizio'");//se il prezzo è in una tabella diversa
$query = mysql_query("SELECT prezzo FROM servizi WHERE id ='$servizio'");//se il prezzo è nella stessa tabella
// svuoto il campo del prezzo
echo "$('input[name=\"prezzo\"]').empty();";
$row = mysql_fetch_array($query);
// popolo il campo prezzo
echo "$('input[name=\"prezzo\"]').append('value=\"".$row['prezzo']. "');";
}
?>
è evidente comunque che devi adattare i nomi dei campi/tabelle/variabili a quello che hai tu
poi @Max1 dacci un occhio farebbe comodo anche a me che funzionasse