Help con js/php

Pietrop97

Nuovo Utente
17 Mar 2017
5
0
1
27
Salve a tutti, ho un problema riguardante una pagina web che sto sviluppando.
Questo mio problema è molto comune e ho visto milioni di discussioni, ma nessuna ha risolto pienamente il mio problema.
Semplicemente devo caricare su una pagina web delle select dinamiche, ovvero collegate a cascata.
Più precisamente si tratta di Regioni-Provincie-Comuni, dove mi dovrebbe apparire all'inizio solo le regioni e nel click di una di esse si apre la lista delle provincie e stessa cosa per i comuni.
La difficoltà che riscontro è che le select devono essere caricate attraverso una query al database, dove sono contenuti i dati. Ho letto che si potrebbe usare Ajax e jquery, ma non ho conoscenze al riguardo. Detto ciò invoco il vostro aiuto.
Grazie :)
P.S. se ho sbagliato sezione scusate, sono nuovo xd.
 
Ciao, si hai sbagliato sezione, ti sposto in php
c'è uno script pronto qui
 
Lo script linkato è in php e jquery
 
Salve amici, ho risolto da solo il problema dopo aver visto alcuni post e essermi scervellato un po'.
Posto di seguito il codice funzionante per aiutare poveri sbandati come me v.v

PHP:
<?php
    include("datidb.php");   
  $query = "SELECT * FROM regione";
  $result = mysql_query($query);
    $row=mysql_fetch_array($result);
  while($row){
    $categories[] = array("cod_regione" => $row['cod_regione'], "denom_regione" => $row['denom_regione']);
    $row=mysql_fetch_array($result);
  }

  $query = "SELECT * FROM provincia";
   $result = mysql_query($query);
    $row=mysql_fetch_array($result);
while($row){
    $subcats[$row['regione']][] = array("cod_prov" => $row['cod_prov'], "nom_prov" => $row['nom_prov']);
    $row=mysql_fetch_array($result);
    }

  $jsonCats = json_encode($categories);
  $jsonSubCats = json_encode($subcats);


?>
<html>

  <head>
    <script type='text/javascript'>
      <?php
        echo "var categories = $jsonCats; \n";
        echo "var subcats = $jsonSubCats; \n";
      ?>
      function loadCategories(){
        var select = document.getElementById("categoriesSelect");
        select.onchange = updateSubCats;
        for(var i = 0; i < categories.length; i++){
          select.options[i] = new Option(categories[i].denom_regione,categories[i].cod_regione);         
        }
      }
      function updateSubCats(){
        var catSelect = this;
        var regione = this.value;
        var subcatSelect = document.getElementById("subcatsSelect");
        subcatSelect.options.length = 0; //delete all options if any present
        for(var i = 0; i < subcats[regione].length; i++){
          subcatSelect.options[i] = new Option(subcats[regione][i].nom_prov,subcats[regione][i].cod_prov);
        }
      }
    </script>

  </head>

  <body onload='loadCategories()'>
    <select id='categoriesSelect'>
    </select>

    <select id='subcatsSelect'>
    </select>
  </body>
</html>
 

Discussioni simili