Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18

Discussione: menu scelta dinamico

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2001
    Messaggi
    131

    menu scelta dinamico

    Ciao, come si fa un menu a tendina dove i valori vengono presi da un DB dinamicamente, esempio ho 2 campio A e B su ha ho i cognomi e su B i nomi vorre 2 menu a tendina dove mettendo sulal prima tendina i cognomi e dopo aver selezionato il cognome mi da i possibili nomi sulla seconda tendida, per il primo non c'è problma

    codice:
    <select size="1" name="D1">
    <option>qui faccio la select</option>
    </select>
    ma poi la seconda?

  2. #2
    Devi utilizzare un ciclo.
    Ad esempio:

    while($var = mysql_fetch_array($risultato_query)) {

    echo "<option value=\"$var[campoDB]\">$var[campoDB]</option>";

    }
    Olio Extravergine d'Oliva Magino
    Prodotti tipici: in vendita olio, pesto ligure e altri prodotti alimentari tradizionali.

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    1,141
    Penso che cecov74 intendesse un'altra cosa, come il popolamento della seconda tendina a seconda dei valori della prima...
    Prova a vedere se una cosa del genere ti può andare bene:
    codice:
    <select name="cognnome" onchange="location.href = 'tuapagina.php?nom='+this.options[this.selectedIndex].value">
     <option value="1">1</option>
     <option value="2">2</option>
     <option value="2">3</option>
     </option>
    </select>
    Codice PHP:
     <?php
     
    if($_GET['nom'] != null)
     {
    //Qui al posto dell'array che ho fatto io, metterai
    //la query che estrapola i nomi a seconda del cognome
     
    $arr = array("pippo","franco","gianni");
     
    ?>
     <select name="nomi">
     <option value="<?php echo $arr[$_GET[nom]]; ?>"><?php echo $arr[$_GET[nom]]; ?></option>
     </select>
    <?php
     
    }
    ?>
    ciao

  4. #4

    ops

    Cavolo ho letto le prime due parole della prima riga.
    Sorry
    Olio Extravergine d'Oliva Magino
    Prodotti tipici: in vendita olio, pesto ligure e altri prodotti alimentari tradizionali.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2001
    Messaggi
    131
    Allora cercando vari codici e seguendo le vostre direttive sono arrivato qui:

    codice:
    <?php
    include("mysql.inc.php");
    $myconnect = mysql_connect($db_host, $db_user, $db_password);
    $mydb = mysql_select_db($db_name, $myconnect);
    $sql = "SELECT DISTINCT articolo FROM gamma ORDER BY articolo ASC";
    $st = mysql_query( $sql, $myconnect ) or die(mysql_error());
    echo "Regione <select size=\"1\" name=\"articolo\" onchange=\"this.form.submit();\">";
    while ($data = mysql_fetch_object( $st )){
    	echo "<option value=\"{$data->articolo}\">{$data->articolo}</option>";
    }
    echo "</select>";
    
    $regione = isset($_POST['articolo']) ? $_POST['articolo'] : '';
    
    if($regione != ''){
    	$sql = "SELECT variante FROM gamma ORDER BY variante ASC
    	WHERE prv_regione = '{$articolo}'";
    	$st = mysql_query( $sql ) or die(mysql_error());
    	echo "Provincia <select size=\"1\" name=\"variante\">";
    	while ($data = mysql_fetch_object( $st )){
    		echo "<option value=\"{$data->variante}\">{$data->variante}</option>";
    	}
    	echo "</select>";
    }
    ma il risultato è che ho la tabella dell'articolo ma non della variante

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    1,141
    prova così...
    Codice PHP:
    <?php
    include("mysql.inc.php");
    $myconnect mysql_connect($db_host$db_user$db_password);
    $mydb mysql_select_db($db_name$myconnect);
    $sql "SELECT DISTINCT articolo FROM gamma ORDER BY articolo ASC";
    $st mysql_query$sql$myconnect ) or die(mysql_error());
    echo 
    "Regione <select size=\"1\" name=\"articolo\" onchange=\"location.href='pagina.php?articolo='+this.options[this.selectedIndex].value;\">";
    while (
    $data mysql_fetch_object$st )){
        echo 
    "<option value=\"{$data->articolo}\">{$data->articolo}</option>";
    }
    echo 
    "</select>";

    $articolo = isset($_GET['articolo']) ? $_GET['articolo'] : '';

    if(
    $articolo != ''){
        
    $sql "SELECT variante FROM gamma 
    WHERE prv_regione = '
    {$articolo}'
    ORDER BY variante ASC
        "
    ;
        
    $st mysql_query$sql ) or die(mysql_error());
        echo 
    "Provincia <select size=\"1\" name=\"variante\">";
        while (
    $data mysql_fetch_object$st )){
            echo 
    "<option value=\"{$data->variante}\">{$data->variante}</option>";
        }
        echo 
    "</select>";
    }

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2001
    Messaggi
    131
    innanzitutto grazie ora funziona, visto che ci sto vorrei aggiungere un terzo campo
    codice:
    <?php
    include("mysql.inc.php");
    $myconnect = mysql_connect($db_host, $db_user, $db_password);
    $mydb = mysql_select_db($db_name, $myconnect);
    $sql = "SELECT DISTINCT articolo FROM gamma ORDER BY articolo ASC";
    $st = mysql_query( $sql, $myconnect ) or die(mysql_error());
    echo "Regione <select size=\"1\" name=\"articolo\" onchange=\"location.href='prova.php?articolo='+this.options[this.selectedIndex].value;\">";
    while ($data = mysql_fetch_object( $st )){
        echo "<option value=\"{$data->articolo}\">{$data->articolo}</option>";
    }
    echo "</select>";
    
    $articolo = isset($_GET['articolo']) ? $_GET['articolo'] : '';
    
    if($articolo != ''){
        $sql = "SELECT DISTINCT variante FROM gamma 
                WHERE articolo = '{$articolo}'
                ORDER BY variante ASC";
        $st = mysql_query( $sql ) or die(mysql_error());
        echo "Variante <select size=\"1\" name=\"variante\" onchange=\"location.href='prova.php?articolo='+this.options[this.selectedIndex].value;\">";
        while ($data = mysql_fetch_object( $st )){
            echo "<option value=\"{$data->variante}\">{$data->variante}</option>";
        }
        echo "</select>";
     }
    $articolo = isset($_GET['articolo']) ? $_GET['articolo'] : '';   
    $variante = isset($_GET['variante']) ? $_GET['variante'] : '';
    
    if($variante != ''){
        $sql = "SELECT DISTINCT taglia FROM gamma 
                WHERE articolo = '{$articolo}' AND
                WHERE variante = '{$variante}'
                ORDER BY variante ASC";
        $st = mysql_query( $sql ) or die(mysql_error());
        echo "Tg <select size=\"1\" name=\"taglia>";
        while ($data = mysql_fetch_object( $st )){
            echo "<option value=\"{$data->taglia}\">{$data->taglia}</option>";
        }
        echo "</select>";   
    }
    non va perchè qui non so come aggiungere la variabile "variante"
    onchange=\"location.href='prova.php?articolo='+thi s.options[this.selectedIndex].value;\">";

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    1,141
    prova così...
    Codice PHP:
    if($articolo != ''){
        
    $sql "SELECT DISTINCT variante FROM gamma 
                WHERE articolo = '
    {$articolo}'
                ORDER BY variante ASC"
    ;
        
    $st mysql_query$sql ) or die(mysql_error());
    [
    B]    
    echo 
    "Variante <select size=\"1\" name=\"variante\" onchange=\"location.href='prova.php?articolo=$articolo&variante'+this.options[this.selectedIndex].value;\">";
    [/
    B]   
     while (
    $data mysql_fetch_object$st )){
            echo 
    "<option value=\"{$data->variante}\">{$data->variante}</option>";
        }
        echo 
    "</select>";
     } 
    ciao

  9. #9
    Utente di HTML.it
    Registrato dal
    Jan 2001
    Messaggi
    131
    perfetto va, ma il terzo campo non si compila ma

    codice:
    <?php
    include("mysql.inc.php");
    $myconnect = mysql_connect($db_host, $db_user, $db_password);
    $mydb = mysql_select_db($db_name, $myconnect);
    $sql = "SELECT DISTINCT articolo FROM gamma ORDER BY articolo ASC";
    $st = mysql_query( $sql, $myconnect ) or die(mysql_error());
    echo "Regione <select size=\"1\" name=\"articolo\" onchange=\"location.href='prova.php?articolo='+this.options[this.selectedIndex].value;\">";
    while ($data = mysql_fetch_object( $st )){
        echo "<option value=\"{$data->articolo}\">{$data->articolo}</option>";
    }
    echo "</select>";
    
    $articolo = isset($_GET['articolo']) ? $_GET['articolo'] : '';
    
    if($articolo != ''){
        $sql = "SELECT DISTINCT variante FROM gamma 
                WHERE articolo = '{$articolo}'
                ORDER BY variante ASC";
        $st = mysql_query( $sql, $myconnect ) or die(mysql_error());
        echo "Variante <select size=\"1\" name=\"variante\" onchange=\"location.href='prova.php?articolo=$articolo&variante='+this.options[this.selectedIndex].value;\">";
        while ($data = mysql_fetch_object( $st )){
            echo "<option value=\"{$data->variante}\">{$data->variante}</option>";
        }
        echo "</select>";
     }
    $articolo = isset($_GET['articolo']) ? $_GET['articolo'] : '';   
    $variante = isset($_GET['variante']) ? $_GET['variante'] : '';
    
    if($variante != ''){
        $sql = "SELECT Taglia FROM gamma 
                WHERE articolo = '{$articolo}' AND
                      variante = '{$variante}'
                ORDER BY taglia ASC";
        $st = mysql_query($sql, $myconnect) or die(mysql_error());
        echo "Tg <select size=\"1\" name=\"taglia>";
        while ($data = mysql_fetch_object( $st )){
            echo "<option value=\"{$data->taglia}\">{$data->taglia}</option>";
        }
        echo "</select>";   
    }

  10. #10
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    1,141
    controlla che i dati via get vengano passati regolarmente, se è così, probabilmente, l'errore sta in
    codice:
    if($variante != ''){
        $sql = "SELECT Taglia FROM gamma 
                WHERE articolo = '{$articolo}' AND
                      variante = '{$variante}'
                ORDER BY taglia ASC";
        $st = mysql_query($sql, $myconnect) or die(mysql_error());
        echo "Tg <select size=\"1\" name=\"taglia>";
        while ($data = mysql_fetch_object( $st )){
            echo "<option value=\"{$data->taglia}\">{$data->taglia}</option>";
        }
        echo "</select>";   
    }
    prova a stampare la query, provala direttamente in mysql e vedi se funziona, se torna qualche risultato...
    ciao

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.