Ciao a tutti ragazzi e non, volevo chiedere un informazione su ciò che ho scritto in ajax php e html, perche non mi funziona corettamente.
L' idea è quella di selezionare la scuola da un apposito campo e a seconda del campo selezionato ti inserisce gli indirizzi di quella scuola in un altro campo.
il database e così organizzato una tabella scuole con idscuola, nomescuola, una indirizzi con idindirizzo e nomeindirizzo e infine una intermedia per riuscire a collegare le due precedenti chiamata scuole_indirizzi aventi i campi scuole_idscuola (collega id scuola ) e indirizzi_idindirizzo (collega l'indirizzo).
l' errore che viene e che una volta selezionata la scuola il campo indirizzi si rimpicciolisce e non appaiono gli indirizzi della scuola =(

ecco la pagina principale php e html chiamata registrazione2.php
codice HTML:
<!DOCTYPE html>
<html>
    <head>
        <!-- Titolo pagina-->
        <title>Helpschool! - Registrazione - Passo 2</title>
        <!--Import Google Icon Font-->
        <link href="http://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
        <!--Import materialize.css-->
        <link type="text/css" rel="stylesheet" href="css/materialize.min.css"  media="screen,projection"/>
        <!--Let browser know website is optimized for mobile-->
        <meta name="viewport" content="width=device-width, initial-scale=1.0"/>    
        <script type="text/javascript" src="http://code.jquery.com/jquery-1.6.2.min.js"></script>
        <script>
            $(document).ready(function(){
                $.ajax({
                    url:"php/_getScuole.php",
                    type: "POST",
                    data: {},
                    dataType: "json",
                    success: function(risultati){
                        for(var i=0; i<risultati.length; i++){
                            var opzione = document.createElement("option");
                            opzione.text = risultati[i];
                            $("#scuola").append(opzione);
                        }
                    },
                    error: function(richiesta,stato,errori){
                        alert("Chiamata fallita: "+stato+" "+errori);
                    }    
                });
            
                $("#scuola").change(function(){
                    $.ajax({
                        url:"php/_getIndirizzi.php",
                        type: "POST",
                        data: {scuola: $("#scuola").val()},
                        dataType: "json",
                        success: function(risultati){
                            $("#indirizzo").empty(); /*svuoto prima la cmb da tutte le opzioni*/
                            for(var i=0; i<risultati.length; i++){
                                var opzione = document.createElement("option");
                                opzione.text = risultati[i];
                                $("#indirizzo").append(opzione);
                            }
                            $("#indirizzo").prop("disabled", false); /*abilito la cmb*/
                        },
                        error: function(richiesta,stato,errori){
                            alert("Chiamata fallita: "+stato+" "+errori);
                        }
                    });
                });
            });
        </script>    
      
        
    </head>

    <body>  

        <h4>Registrazione <b>HelpSchool!</b> - Passo <B>2</B> di 2</h4>
        <p>Ora scegli la <B>tua scuola</B>, il <B>tuo indirizzo di studi</B> e la <B>tua classe</B>! <B>Ricordati che tutti i campi sono obbligatori.</B></p>
        
        
                    <select id="scuola" name="scuola">
                        <option>Scegli la tua scuola...</option>
                         
                    </select>
                    <label>Scegli la <B>tua scuola</B></label>
                    
                    
                    <select id = "indirizzo" name = "indirizzo">
                         <option>Scegli il tuo indirizzo di studi...</option>
                    </select>
                    <label>Scegli il <B>tuo indirizzo di studi</B></label>
                
            
                    <select  id = "classe" name = "classe">
                        <option value="" disabled selected>Scegli la tua classe...</option>
                        <option value="1">Prima</option>
                        <option value="2">Seconda</option>
                        <option value="3">Terza</option>
                        <option value="4">Quarta</option>
                        <option value="5">Quinta</option>
                    </select>
                    <label>Scegli la <B>tua classe</B> in cui sei iscritto</label>
                    
            
        
        
        
    </body>
  </html>
pagina getScuole.php :
Codice PHP:
<?php    
    
include ("_connessionedb.php"); //connessione al database, presente nella pagina _connessionedb.php        
    
    
try{

        
$stmSql $conn->prepare("SELECT nome_scuola FROM scuole");
        
$result $stmSql->execute();
        
        
$risultati[] = '';
        while(
$row $stmSql->fetch()){
            
$risultati[] = $row[0];
        }
        
        echo 
json_encode($risultati);
        
$conn null;
    }catch(
PDOException $ex){
        die(
"Errore: " .$ex->getMessage());
    }    
    
?>
pagina _getIndirizzi.php:
Codice PHP:
<?php    
    
if(isset($_POST['scuola']) && !empty($_POST['scuola'])){
        
$scuola $_POST['scuola'];
        include (
"_connessionedb.php"); //connessione al database, presente nella pagina _connessionedb.php
        
try{
                
$stmSql $conn->prepare("SELECT nome_indirizzo FROM indirizzi JOIN scuole_indirizzi ON (indirizzi.idindirizzo = scuole_indirizzi.indirizzi_idindirizzo) JOIN scuole ON (scuole_indirizzi.scuole_idscuola = scuole.idscuola) WHERE scuole.idscuola = ?");
            
$stmSql->bindParam(1$scuola);
            
$result $stmSql->execute();
            
            
$risultati[] = '';
            while(
$row $stmSql->fetch()){
                
$risultati[] = $row[0];
            }
            
            echo 
json_encode($risultati);
            
            
$conn null;
            
        }catch(
PDOException $ex){
            die(
"Errore connessione: " .$ex->getMessage());
        }
    }
    
?>
pagina connessione.php
Codice PHP:
<?php
//Costanti di connessione al database
 //IN CASO DI ACCESSO AL SERVER DELLA SCUOLA: USER: "inf-5ogruppo6" PWD: "tesina9016" ----- ACCESSO IN LOCALE: USER: "root" PWD: ""
$user "root";  
$pwd =""
$host "localhost";
$dbname "inf-5ogruppo6";

//Connessione al database MySql
try{
    
$conn = new PDO("mysql:host=$host;dbname=$dbname",$user,$pwd);
    
$conn -> setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
}catch(
PDOException $ex){
    
header("location: /helpschool/avviso.php?n=13"); //in caso di errore di connessione, reindirizzazione nella pagina di errore corrispondente
}
?>
grazie in anticipo a presto!