Ciao a tutti, altro problemino..
Sto cercando di popolare una select "zona" in base al comune scelto.
E' più complicato di quello che credevo...almeno per me...
allora ho cercato in rete ed ho trovato questo che ho provato ad adattarlo, ma non va..
la parte html:
Codice PHP:
<form action="" method="get">
<div class="sx2">Comune</div>
<div class="dx"><select class="sel" name="com" id="comune"> <option value="">Qualsiasi</option>
<?php
require_once ("conndb.php");
$q_comuni = "SELECT DISTINCT(Comune) FROM prova3 ORDER BY Comune";
$risult = mysql_query($q_comuni) or die(mysql_error());
while ($r_comuni = mysql_fetch_assoc($risult)) {
echo "<option value=\"". $r_comuni['Comune'] ."\">". $r_comuni['Comune'] ."</option>";
}
?>
</select></div>
<div class="search_sx">Zona</div><div class="search_dx"><select class="sel" name="zo" id="zona"> <option value="">Qualsiasi</option>
</select></div>
la parte js:
codice:
function SelZona() {
$.getJSON('zona.php', {comune:$('#comune').val()}, function(data) {
var select = $('#zona');
var options = select.attr('options');
$('option', select).remove();
$.each(data, function(index, array) {
options[options.length] = new Option(array['zo']);
});
});
}
$(document).ready(function() {
SelZona();
$('#zona').change(function() {
SelZona();
});
});
quella php:
Codice PHP:
<?php
$dsn = "mysql:host=localhost;dbname=[prova3]";
$username = "[nome]";
$password = "[prova]";
$pdo = new PDO($dsn, $username, $password);
$rows = array();
if(isset($_GET['comune'])) {
$stmt = $pdo->prepare("SELECT DISTINCT(Zona) FROM prova3 WHERE Comune LIKE '%".$_GET['comune']."%\'ORDER BY Zona");
$stmt->execute(array($_GET['comune']));
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
}
echo json_encode($rows);
Purtroppo non conosco la parte php ad oggetti e non so bene cosa faccia.
Il problema secondario, lo so almeno farlo funzionare prima!!!, è che l'option "Qualsiasi" deve rimanere, invece con la stringa $('option', select).remove(); nella funzione js cancella tutti i dati....
Mi potreste aiutare?
Grazie mille ciao