Ho trovato sul forum un'esercizio simile già fatto,questo fatto da @criric.
Ho provato a modificarlo, sistemandolo con le tabelle che ho io ma non riesco a farlo funzionare, il codice è questo
le tabelle hanno già tutti i dati inseriti e sono strutturate in questo modo:
folder: IDFolder, Descrizione
capsule: IDFolder,IDCapsule,Descrizione
report: IDFolder,IDCapsule,IDReport,Descrizione
Grazie mille in anticipo per chiunque provi ad aiutarmi
WottaFacca
Ho provato a modificarlo, sistemandolo con le tabelle che ho io ma non riesco a farlo funzionare, il codice è questo
HTML:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="generator" content="AlterVista - Editor HTML"/>
<title></title>
<title>Comuni italiani</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
<style type="text/css">
div.ricerca {
line-height: 34px;
}
div.ricerca span {
display: inline-block;
width: 110px;
text-align: right;
padding-right: 4px;
}
</style>
<script type="text/javascript">
$(document).ready(function(){
comuni();
$("select").change(function(){
comuni();
})
})
function comuni() {
$.ajax({
type: "POST",
url: "prova.php",
data: $("#ricerca").serialize(),
success: function(response){
eval(response);
}
});
}
</script>
</head>
<body>
<html>
<div class="ricerca">
<form id="ricerca">
<span>Folder :</span>
<select name="IDFolder">
<option value=""></option>
</select><br/>
<span>Capsule :</span>
<select name="IDCapsule">
<option value=""></option>
</select><br/>
<span>Report :</span>
<select name="IDReport">
<option value=""></option>
</select>
</form>
</div>
</body>
</html>
PHP:
<?php
// recupero valori delle select
$folder = $_REQUEST['IDFolder'];
$capsule = $_REQUEST['IDCapsule'];
$report = $_REQUEST['IDReport'];
// mi connetto al database
$sql = new mysqli("localhots", "xxx", "xxx","nomeDB");
// estraggo tutte le regioni
$query = "SELECT IDFolder FROM folder";
$result = $sql->query($query);
// svuoto la select regione
echo "$('select[name=\"IDFolder\"]').empty();";
// aggiungo una option vuota
echo "$('select[name=\"IDFolder\"]').append('<option value=\"\"></option>');";
// ciclo i risultati della query
while ($row = $result->fetch_array(MYSQLI_ASSOC)) {
// imposto il selected sull'eventuale regione scelta
$selected = "";
if ($row['IDFolder'] == $folder) {
$selected = "selected=\"selected\"";
}
// popolo la select
echo "$('select[name=\"IDFolder\"]').append('<option $selected value=\"" . $row['IDFolder'] . "\">" . addslashes($row['IDFolder']) . "</option>');";
}
// se è stata scelta una regione
if (!empty($folder)) {
// estraggo le province della regione scelta
$query = "SELECT IDCapsule FROM capsule WHERE IDFolder ='$folder'";
$result = $sql->query($query);
// svuoto la select provincia
echo "$('select[name=\"IDCapsule\"]').empty();";
// aggiungo una option vuota
echo "$('select[name=\"IDCapsule\"]').append('<option value=\"\"></option>');";
// ciclo i risultati della query
while ($row = $result->fetch_array(MYSQLI_ASSOC)) {
// imposto il selected sull'eventuale provincia scelta
$selected = "";
if ($row['IDCapsule'] == $capsule) {
$selected = "selected=\"selected\"";
}
// popolo la select
echo "$('select[name=\"provincia\"]').append('<option $selected value=\"" . $row['IDFolder'] . "\">" . addslashes($row['IDCapsule']) . "</option>');";
}
}
// se è stata scelta una provincia
if (!empty($capsule)) {
// estraggo i comuni della provincia scelta
$query = "SELECT IDReport FROM report WHERE IDCapsule ='$capsule'";
$result = $sql->query($query);
// svuoto la select comune
echo "$('select[name=\"IDReport\"]').empty();";
// aggiungo una option vuota
echo "$('select[name=\"IDReport\"]').append('<option value=\"\"></option>');";
// ciclo i risultati della query
while ($row = $result->fetch_array(MYSQLI_ASSOC)) {
// imposto il selected sull'eventuale comune scelto
$selected = "";
if ($row['IDCapsule'] == $report) {
$selected = "selected=\"selected\"";
}
// popolo la select
echo "$('select[name=\"IDReport\"]').append('<option $selected value=\"" . $row['IDCapsule'] . "\">" . utf8_encode(addslashes($row['IDReport'])) . "</option>');";
}
}
?>
le tabelle hanno già tutti i dati inseriti e sono strutturate in questo modo:
folder: IDFolder, Descrizione
capsule: IDFolder,IDCapsule,Descrizione
report: IDFolder,IDCapsule,IDReport,Descrizione
Grazie mille in anticipo per chiunque provi ad aiutarmi
WottaFacca
Ultima modifica: