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:
la parte js: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>
quella php: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(); }); });
Purtroppo non conosco la parte php ad oggetti e non so bene cosa faccia.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);
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

Rispondi quotando