Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    96

    Riempire una combo da una scelta

    Ciao a tutti e scusatemi per il titolo, vi anticipo che di javascript non ne capisco, ma purtroppo in un progetto php non ne ho potuto fare a meno.
    Vi spiego, ho trovato nel web una parte di codice che riempie una seconda combo a seconda di cosa si sceglie nella prima, oggi se ne vedono quasi dappertutto tipo regioni, province, comuni.
    Io invece dovrei riempire una combo da tabella database e questo lo faccio con php, il problema c'è l'ho con la seconda combo, è scritto in javascript e non so dove mettere le mani. Vi posto il codice che non è farina del mio sacco
    Codice PHP:
    <?php
    require 'connessione/Config.php';
    require 
    'connessione/Connect.php';            
    ?>
    <script type="text/javascript">

        //Dichiaro l'array myMenu'
        var myMenu = new Array();
        
        //Definisco le voci del menu'
        myMenu['cat_a'] = new Array(); //Prima categoria
        myMenu['cat_a']['value1'] = 'Prima opzione';
        myMenu['cat_a']['value2'] = 'Seconda opzione';
        myMenu['cat_a']['value3'] = 'Terza opzione';
        myMenu['cat_b'] = new Array(); //Seconda categoria
        myMenu['cat_b']['value4'] = 'Quarta opzione';
        myMenu['cat_b']['value5'] = 'Quinta opzione';
        myMenu['cat_b']['value6'] = 'Sesta opzione';
        myMenu['cat_c'] = new Array(); //Seconda categoria
        myMenu['cat_c']['value7'] = 'Settima opzione';
        myMenu['cat_c']['value8'] = 'Ottava opzione';
        myMenu['cat_c']['value9'] = 'Nona opzione';
        
        function popola_select(){
            var select = document.forms['Form'].mySelect; //Recupero la SELECT
            var subselect = document.forms['Form'].mySubSelect; //Recupero la seconda SELECT
            
            // Recupero la categoria selezionata
            var cat = select.options[select.selectedIndex].value;
            
            //Controllo che sia stata selezionata una categoria valida
            if(cat.length != 0){
                //Azzero il contenuto della seconda select
                for (var i = subselect.length - 1; i >= 0; i--)
                    subselect.remove(i);
                
                //Popolo la seconda Select
                for(value in myMenu[cat]){
                    //Creo il nuovo elemento OPTION da aggiungere nella seconda SELECT
                    var NewOpt = document.createElement('option');
                    NewOpt.value = value; // Imposto il valore
                    NewOpt.text = myMenu[cat][value]; // Imposto il testo
                    
                    //Aggiungo l'elemento option
                    try{
                        subselect.add(NewOpt, null); //Metodo Standard, non funziona con IE
                    }catch(e){
                        subselect.add(NewOpt); // Funziona solo con IE
                    }
                }
                
            }
        }
    </script>
    <body>
    <form name="Form" method="post" action="add_articoli">
    <table>
    <tr>
            <td align="left" width="110" height="25">
                <font size="1" face="Verdana, Arial, Helvetica, sans-serif">
                    Selez. marca
                </font>
            </td>
            <td align="left">
                <select name="mySelect" onChange="popola_select()"
                style="font-family: Verdana, Palatino Linotype, Arial, Century Gothic, Helvetica;
                font-size: 8pt; width:136px; height:21px;">
                <?php
                    $query_1
    =mysql_query("SELECT * FROM t_marche")
                    or die(
    "errore nella query;".mysql_error());
                    for(
    $a=0$a<mysql_num_rows($query_1);$a++)
                        {
                            
    $elenco_marche=mysql_fetch_assoc($query_1);
                                print
    "
                                    <option value='"
    .intval($elenco_marche['id_marca'])."'>
                                    "
    .$elenco_marche['desc_marca']."
                                    </option>"
    ;
                        }
                
    ?>            </select>
            </td>
        </tr>
        <tr>
            <td align="left" width="110" height="25">
                <font size="1" face="Verdana, Arial, Helvetica, sans-serif">
                    Selez. modello
                </font>
            </td>
            <td align="left">
                <select name="mySubSelect"></select>
            </td>
        </tr>
    </table>
    </form>
    </body>
    Grazie in anticipo per l'aiuto

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    ci sono altri millemila topic dove gli utenti pongono la tua stessa domanda.... cerca nel forum e troverai la soluzione

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    96
    Ciao e grazie, sto provando da stamattina, ma non trovo nulla di dimanico e collegato a php
    mi posteresti tu qualcosa, codice o link è uguale

    Grazie

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    prova a dare un occhiata qua

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.