Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    invio form al cambio della select

    Buongiorno a tutti,

    è la proma volta che scrivo su questo forum e spero di non sbagliare sezione e/o motodo di richiesta.
    Nel sito che sto costruendo mi trovo di fronte a un problemino:

    Ho un form che usa il motodo get all'interno del quale ho inserito un input type="select" con le relative option. Siccome a ogni option dovrei visualizzare dati diversi nella pagina (dati recuperati ogni volta da un database mysql) vorrei che a ogni cambio del valore selezionato nel menù a tendina venga inviato il form (e ricaricata in particolare la stessa pagina) con i giusti valori recuperati dal database.

    il codice è:

    <form method="get" action="index.php">
    <select name="circolo">
    <?php
    $clubs=get_clubs_by_type($type);
    $i=0;
    while($row=mysql_fetch_array($clubs)) {
    echo "<option value=\"".$i."\">".$row['club_name']."</option>";
    $i++;
    }
    ?>
    </select>
    </form>

    <ul class="members">
    <?php
    fields=get_club_members_by_type(**variabile, $type);
    $i=0;
    while($row=mysql_fetch_array($fields)) {
    echo "[*]".$row['member_name']."";
    $i++;
    }
    ?>[/list]

    **variabile corrispondente al valore della select, che vorrei recuperare dal form di questa stessa pagina dopo che l'utente ha selezionato una particolare option

    Spero di essermi spiegato decentemente
    Vi ringrazio in anticipo

    Ciao!

  2. #2
    Lo fai con jquery, effettuando una chiamata ajax ogni volta che la select viene modificata.
    Es.:
    Codice PHP:
    $("#id_della_select").change(function(){
    var 
    valore_della_select = $(this).val();
    $.
    ajax({ 
            
    type'POST'
            
    url'tuo_file.php'
            
    data"variabile="+valore_della_select
            
    success: function(msg) {
            
    //valorizzi il div con il risultato
           
    $("#id_del_dvi").html(msg);                    
                    }  
          });
    }); 
    msg contiene la risposta del file .php, ovvero in quel file stampi con print o echo ciò che vuoi venga poi visualizzato nel div.
    Ovvio a monte devi includere la libreria jquery

  3. #3
    Ho visto solo ora che devi aggiornare un elemento ul.
    In questo caso:
    codice:
    <ul class="members" id="members">[/list]
    poi
    Codice PHP:
    $("#id_della_select").change(function(){ 
    var 
    valore_della_select = $(this).val(); 
    $.
    ajax({  
            
    type'POST',  
            
    url'tuo_file.php',  
            
    data"variabile="+valore_della_select,  
            
    success: function(msg) { 
            
    //valorizzi l'elemento ul con il risultato 
           
    $("#members").append(msg);                     
                    }   
          }); 
    }); 

  4. #4
    Grazie mille della risposta intanto!

    Ho provato ma c'è qualcosa che non funziona, forse non ho capito bene io.
    In questo modo io nell'elemento ul mi ritrovo la variabile che è stata selezionata dall'utente?
    da poterla usare poi in questa funzione?
    Codice PHP:
    get_club_members_by_type(**variabile$type); 

  5. #5
    Quella funzione sta nel file php che chiami con ajax.
    L'elemento ul è vuoto come te l'ho scritto io, viene valorizzato con la risposta ajax (ovvero il risultato della tua funzione)

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 © 2025 vBulletin Solutions, Inc. All rights reserved.