[PHP] Gestione dinamica select-option

MatMac System

Nuovo Utente
10 Apr 2018
3
0
1
26
Salve a tutti,
sto progettando un sito che per uso privato per la gestione di un database.
In una pagina ho la necessità di inserire due select, la prima prende i dati da un database e si riempie (e fin qui tutto ok), ma quella successiva deve riempirsi con i dati ottenuti da una seconda query dove il paramento di ricerca è proprio quello della prima select. Come posso fare? (per fare un esempio: i classici menù a tendina dove vengono visualizzate le provincie sulla base della regione)
Premetto che riesco a gestire bene i database ma con il php ho qualche problema in quanto non lo conosco bene. Posto il codice che ho scritto per quella sezione:
PHP:
<?php
  $title = "Aggiungi Cibo";
  $metaD = "Pagina per l'aggiunta di cibo nel database";
  include 'header.php';
 ?>

 <!-- Contenuto della home -->
  <div id="pageContent">
 <p> Compila i campi seguenti per aggiungere un elemento al database</p><br>
<!--Inizio del Form-->
 <form action="db/insert_cibo.php" method="post">

   <p><label for="tipo" id="labelform">Tipo:</label>
   <select name="tipo">
     <?php
     $sql = mysqli_query($db, "SELECT type FROM type");
     while ($row = $sql->fetch_assoc()){
       echo "<option value=\"".$row['type']."\">" . $row['type'] . "</option>";
     }
     ?>
   </select></p>
    <p><label for="nome" id="labelform">Nome:</label>
<!-- Questa parte non funzione -->
    <select name="nome">
    <?php
      $nome = $_GET['tipo'];
      $sql_nome = mysqli_query($db, "SELECT nome FROM dispensa WHERE tipo='$nome'");
      while ($row_nome = $sql_nome->fetch_assoc()){
        echo "<option value=\"".$row_nome['nome']."\">" . $row_nome['nome'] . "</option>";
      }
   mysqli_close($db);
    ?>
  </select> </p>

    <p><label for="quantita">Quantità:</label>
    <input type="number" name="quantita" /></p>
    <input type="submit" name="aggiungi" id="button" value="Aggiungi" /><br/>

</form>

</div>
 <?php
  include 'footer.php';
  ?>

Spero possiate aiutarmi. Grazie in anticipo
 
Ultima modifica:
Effettuando una chiamata in ajax.
Se hai anche jQuery puoi utilizzare lo strato di comunicazione disponibile. $.post o $.get
 

Discussioni simili