ciao quit10, scusami dove inserisco la stringa $stringa = htmlspecialchars($stringa)?
le select sono queste:
Codice PHP:
<select id="state" name="state" onchange="selProvCom(this.value);" style="width:217px" class="required">
<option value="" selected="selected">Seleziona Regione</option>
<?php
// Collegamento ad database.
include("dbconfig.php");
// Query selezione tutte le regioni.
$sql = "select * from regioni order by regione";
// Eseguo la query.
$result = mysql_query($sql, $conn);
while($region = mysql_fetch_array($result)) {
?>
<option value="<?php echo $region['id']; ?>"><?php echo $region['regione']; ?></option>
<?php
}
?>
</select>
Provincia:
<select id="province" name="province" onchange="selCom(this.value);" style="width:217px" class="required">
<option value="" selected="selected">Seleziona Provincia</option>
<?php
// Query selezione tutte le province.
$sql = "select * from province order by provincia";
// Eseguo la query.
$result = mysql_query($sql, $conn);
while($province = mysql_fetch_array($result)) {
?>
<option value="<?php echo $province['id']; ?>"><?php echo $province['provincia']; ?></option>
<?php
}
?>
</select>
Città:
<select id="city" name="city" style="width:217px">
<option value="" selected="selected">Tutti i Comuni</option>
</select>
le funzioni javascript sono queste:
codice:
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
// Select Province e Comuni dalla Regione.
function selProvCom(idRegion) {
// Seleziono province di questa regione.
$.get("select_abitativa.php", { regionid: idRegion, requestItems: 'province'},
function(dataProvince){
$("select[id='province']").empty();
var options = '<option value="">Seleziona Provincia</option>';
var arrayProvince = dataProvince.split( '||');
for (var i = 1; i < arrayProvince.length; i++) {
var provincia = arrayProvince[i].split( /,/);
options += '<option value="' + provincia[0] + '">' + provincia[1] + '</option>';
}
$("select[id='province']").html(options);
});
// Seleziono comuni di questa regione.
$.get("select_abitativa.php", { regionid: idRegion, requestItems: 'comuni'},
function(dataComuni){
$("select[id='city']").empty();
var options = '<option value="">Tutti i Comuni</option>';
var arrayComuni = dataComuni.split( '||');
for (var i = 1; i < arrayComuni.length; i++) {
var comune = arrayComuni[i].split( /,/);
options += '<option value="' + comune[0] + '">' + comune[1] + '</option>';
}
$("select[id='city']").html(options);
});
}
// Select Comuni dalla Provincia.
function selCom(idProvincia) {
// Seleziono comuni di questa provincia.
$.get("select_abitativa.php", { provinciaid: idProvincia, requestItems: 'comuni'},
function(dataComuni){
$("select[id='city']").empty();
var options = '<option value="">Tutti i Comuni</option>';
var arrayComuni = dataComuni.split( '||');
for (var i = 1; i < arrayComuni.length; i++) {
var comune = arrayComuni[i].split( /,/);
options += '<option value="' + comune[0] + '">' + comune[1] + '</option>';
}
$("select[id='city']").html(options);
});
}
</script>
e
pagina select_abitativa.php:
Codice PHP:
<?php
// Seleziona Province e Comuni.
include("dbconfig.php");
if (isset($_GET['regionid']) and is_numeric($_GET['regionid'])) {
if (isset($_GET['requestItems']) and $_GET['requestItems']==='province') {
$regionID = intval($_GET['regionid']);
$query = <<<EOQ
SELECT *
FROM province
WHERE id_regione = '$regionID'
ORDER BY provincia
EOQ;
$result = mysql_query($query, $conn);
$returnProvince = '';
while ($row = mysql_fetch_array($result)) {
$returnProvince .= "||".$row['id'].",".$row['provincia'];
}
print_r($returnProvince);
}
else if (isset($_GET['requestItems']) and $_GET['requestItems']==='comuni') {
$regionID = intval($_GET['regionid']);
$query = <<<EOQ
SELECT *
FROM comuni
WHERE id_regione = '$regionID'
ORDER BY comune
EOQ;
$result = mysql_query($query, $conn);
$returnComuni = '';
while ($row = mysql_fetch_array($result)) {
$returnComuni .= "||".$row['id'].",".$row['comune'];
}
print_r($returnComuni);
}
}
else if (isset($_GET['provinciaid']) and is_numeric($_GET['provinciaid'])) {
if (isset($_GET['requestItems']) and $_GET['requestItems']==='comuni') {
$provinciaID = intval($_GET['provinciaid']);
$query = <<<EOQ
SELECT *
FROM comuni
WHERE id_provincia = '$provinciaID'
ORDER BY comune
EOQ;
$result = mysql_query($query, $conn);
$returnComuni = '';
while ($row = mysql_fetch_array($result)) {
$returnComuni .= "||".$row['id'].",".$row['comune'];
}
print_r($returnComuni);
}
}
?>
il charset è <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
se lo imposto utf-8 non risolvo.