Gestire scelta dropdown con dati da Mysql

Sky One

Nuovo Utente
3 Set 2020
3
0
1
Ciao,
ho creato una dropdown con dei dati che ricavo da MySQL e fin qui tutto bene. Il problema e' che non riesco a trattare la scelta che viene effettuata: il dubbio che ho e' che non si possa fare solo con PHP, ma si debba aggiungere del Javascript (che ignoro totalmente). Chiedo, quindi, lumi a voi.
Creazione dropdown:
PHP:
<select name = "pista_decollo" id = "pista_decollo">
  <option disabled selected>---</option>
  <?php
  // Fa la query al DB
  $query = "SELECT * FROM piste";
  $risultato = mysqli_query($connection, $query);
  // Testa se ci sono errori nella query
  if (!$risultato) {
    die("Database query failed.");
  }

  // Usa i dati della query per il form di scelta della pista
  while($riga = mysqli_fetch_array($risultato)) {
    echo "<option value='". $riga['id'] ."'>" .$riga['pista'] ."</option>";
  }
  ?>
 </select>
 <button type="submit" class="btn btn-info" name="submit" value="submit" >Submit</button>
Un tentativo che ho fatto (e che non funziona) e' questo:
PHP:
<?php
    if (isset($_POST['submit'])) {
        $query = "SELECT * FROM piste where id = '".$_POST['pista_decollo']."'";
        $output = ""; // definisco una variabile $output vuota
        $res = mysqli_query($connection,$query); // eseguo la query
        while ($row = mysqli_fetch_array($res)) {
            $output = "<span>".$row['pista']."</span>"; // salvo il risultato della query in una stringa pronta da mostrare
        }
        echo "Pista selezionata: " . $output;
    }
    ?>
Grazie mille
 

Hormus

Utente Attivo
26 Giu 2020
83
10
8
Stai creando un sito web, il sito sarà composto da pagine statiche o dinamiche (create con php, Javascript, perl, Java etc) in entrambi i casi dovrai seguire un markup html, xml etc.
Normalmente con l'interazione dell'utente puoi anche scegliere se eseguire il codice lato cliente (Javascript) o lato server (PHP).
In html l'elemento option fa parte dell'elemento select e in php occorre il nome di tale select
PHP:
$_GET['name_select']; //o
$_POST['name_select'];
conterrà ciò che l'utente invia dal form con metodo GET o POST rispettivamente nel tuo caso sarà il valore che scrivi nell'elemento option in realtà la selezione è contrassegnata dall'elemento selected nel markup html (di conseguenza anche in Javascript) a te occorrerebbe una richiesta AJAX (Javascript) che non aggiorni la pagina.
Lo so non hai capito ma sta tutto spiegato.
 
Ultima modifica:

Sky One

Nuovo Utente
3 Set 2020
3
0
1
Lo so non hai capito ma sta tutto spiegato.
La frase finale mi ha fatto sorridere, anche perche' ci hai preso al 236374%. :)
Ho capito che devo studiare di piu' e, nel frattempo, cambiare modalita' di fare quello che voglio fare. Vedo di finire il corso di PHP che sto seguendo e poi proseguire con altro (AJAX?). Anzi, visto che ci siamo: meglio proseguire in questa direzione o verso un framework (che, ipotizzo, mi potrebbe far trovare alcune cose gia' belle pronte)?
Intanto grazie mille.