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

    come popolare una variabile selezionata in una list box

    Ho una pagina php nella quale ci sono varie list box (o combo box) vorrei fare in modo che:

    - la prima list box che l'amministratore seleziona sia quella relativa alla categoria di prodotto che vuole scegliere.

    - la seconda list box selezionata dall'amministratore è relativa alla marca del prodotto e, sarà popolata solo con le marche appartenenti alla categoria selezionata sopra.

    Ad es. se l'amministratore seleziona categoria=Moto Nuove le marche presenti nella seconda list box saranno Honda,Ducati...

    se l'amministratore seleziona categoria=Motorini Nuovi le marche saranno Piaggio, Aprilia...

    La lista delle marche non deve essere statica ma deve dipendere dalla categoria selezionata.

    Questo perchè non esistono motorini Ducati e non esistono moto Piaggio.

    La lista delle marche dovrebbe essere il risultato di questa query:

    $query = "select distinct marca from prodotti where categoria ="$categoria""

    la lista delle categorie potrebbe essere fatta così:


    Categoria: <select name="categoria">
    <option value="" selected> - Nuova Categoria - </option>
    <option value="MotoNuove" >Moto Nuove</option>
    <option value="MotoUsate" >Moto Usate</option>
    <option value="MotoriniNuovi" >Motorini Nuovi</option>
    <option value="MotoriniUsati" >Motorini Usati</option>
    <option value="Accessori" >Accessori</option>
    <option value="Ricambi" >Ricambi</option>
    </select>

    per fare in modo che la lista delle marche venga popolata solo con le marche relative alla categoria scelta, il codice potrebbe essere questo:

    include("config.utente.php");
    include("connect.php");
    $query = "select distinct marca from prodotti where categoria ="$categoria"";
    $result = mysql_query($query, $db);
    /* Scandisce i risultati della query */
    while ($row = mysql_fetch_array($result))
    {
    ?>

    Marca: <select name="marca">
    <option value="" selected> - Nuova Marca - </option>
    <option value="<?=$row['marca'];?>"> "<?=$row['marca'];?>" </option>
    </select>

    Il problema è che la variabile $categoria che viene passata alla query è vuota.

    Come faccio a fare in modo che la variabile categoria venga popolata nella pagina?


  2. #2
    nessuno sa aiutarmi?

  3. #3
    $_POST['categoria'] o $_GET['categoria'] a dipendenza se il form lo invii con GET o POST.

    Ovviamente quando selezioni qualcosa dalla prima <select> deve inviare il form ...

    Altrimenti se non vuoi ricaricare la pagina tutte le volte che scegli qualcosa puoi usare AJAX, per questo esistono centinaia di articoli e librerie

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.