Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    57

    entrarre valore selezionato da dropdown

    Ciao a tutti, ho una dropdown su ciascuna riga di una tabella popolata da una lista di valori da un db;
    <?php
    $sql= "Select * from classi";
    $result = $conn->query($sql);
    $rows = mysqli_num_rows($result);
    while($row = mysqli_fetch_assoc($result)) { ?>
    <td align="center"><select name="selClasse">
    <option selected="selected"><?php echo $row["aula"]; ?> </option>
    <?php $records = mysqli_query($conn, "SELECT * FROM aule WHERE capienza >= '".
    $row['num_alunni'] ."'");
    while($data = mysqli_fetch_array($records)) {
    echo "<option value='". $data['aula'] ."'>" . $data['aula'] . "</option>"; }?>
    </select>
    </td>

    il problema è che non riesco ad estrarre il valore di ciascuna dropdown dopo che li seleziono, vorrei aggiornare il database dopo che cambio i valori nelle varie dropdown ma non so come fare.....grazie a chi mi aiuterà.

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    Il primo problema è che tutti i menu select hanno lo stesso nome, così facendo si chiamano tutti selClasse, quindi di valore al massimo ne recuopererai solo uno lato PHP, il primo suppongo, non mi ricordo come si comporta in questi casi.
    Ai primi campi option manca il value, non è un gran problema, ma io ci metterei qualcosa, anche una stringa vuota, torna utile per fare un controllo lato PHP per vedere se l'utente ha selezionato qualcosa oppure no.

    Comunque, per recuperare il valore, basta fare come con altri campi di un form: $_POST['nomecampo']

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    57
    Grazie per la risposta! Il problema è proprio quello, i menù hanno lo stesso nome...comunque per recuperare il valore, con $_POST['nomecampo'], non mi dà nessun valore, potresti farmi un piccolo esempio?
    Grazie ancora


  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    non devi scrivere "nomecampo" ma il nome che hai dato tu a quel campo che vuoi recuperare.
    In questo caso selClasse.

    Per i nomi uguali, devi darne ad ognuno uno diverso, non c'è altro modo per far capire a PHP quale vuoi recuperare.

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    57
    grazie, ci riproverò...avevo capito che 'nomecampo' era un esempio. Ci dev'essere comunque una soluzione, diciamo più elegante!

  6. #6
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    Potresti chiamare le select con
    name="selClasse[]"

    a quel punto PHP riceverebbe un array contenente i valori scelti da ogni select in ordine come sono mostrate nel form.

    Per vedere come viene strutturato l'array puoi vederne il contenuto con
    print_r($_POST['selClasse']);

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.