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

    menu a tewndina per la scelta della regione/province

    RIepilogando, visto che credo questo potrebbe far comodo a molti.
    Come creare un menù a tendina dal quale scegli una regione, che successivamente ti modifiche un seocndo menù con le proinvice di questa regione.

    Creo il database da qui
    http://utenti.lycos.it/andreinoz/province.sql

    i miei campi sono
    prv_id, prv_sigla, prv_nome, prv_regione, prv_cod_reg

    con questo codice gentilemtne concesso da un forumista creo il menu

    <?
    include("mysql.inc.php");
    $sql = mysql_query("Select * from province ORDER BY prv_regione ASC");
    echo "Regione <select size=1 name=regione>";
    while ($data = mysql_fetch_object($sql))
    {
    echo "<option value=$data->prv_cod_reg>$data->prv_regione</option>";
    }
    echo "</select>";
    echo "Provincia <select size=1 name=provincia>";
    while ($data = mysql_fetch_object($sql))
    {
    echo "<option value=$data->prv_sigla>$data->prv_nome</option>";
    }
    echo "</select>";
    ?>


    ma purtroppo cìè qualcosa che non va: il menù a tendina prende le regioni, ma le moltiplica, tipo mi trovo ad avere in elenco 5 volte veneto, 10 toscana etc....e per di più se le seleziono il menù "provincia" mi rimane immutato, non prende nessun dato dal db.

    DOV'è L'ERRORE? chi me lo dice gli mando una bottiglia di vernaccia!

    Grazie!

  2. #2
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    devi usare 2 query, la prima per visualizzare solo le regioni:
    codice:
    SELECT DISTINCT prv_regione FROM province ORDER BY prv_regione ASC
    la seconda per le province:
    codice:
    SELECT prv_sigla, prv_nome FROM province ORDER BY prv_nome ASC


    think simple think ringo

  3. #3

    un attimo...

    <?
    include("mysql.inc.php");
    $sql_reg = mysql_query("SELECT DISTINCT prv_regione FROM province ORDER BY prv_regione ASC");
    echo "Regione <select size=1 name=regione>";
    while ($data = mysql_fetch_object($sql_reg))
    {
    echo "<option value=$data->prv_cod_reg>$data->prv_regione</option>";
    }
    echo "</select>";
    $sql_prv = mysql_query("SELECT prv_sigla, prv_nome FROM province ORDER BY prv_nome ASC");
    echo "Provincia <select size=1 name=provincia>";
    while ($data = mysql_fetch_object($sql_prv))
    {
    echo "<option value=$data->prv_sigla>$data->prv_nome</option>";
    }
    echo "</select>";
    ?>

    con questo codice adesso vedo bene sia le regioni in ordine giusto che le province in ordine giusto...ma pensavo che scegliendo una regione mi si aggiornasse automaticamente il menù delle provincie...la fecevo troppo facile eh? dai un altro autino, la bottiglia è già pronta...

  4. #4
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    prova così (io nn l'ho testato):
    codice:
    <?php
    include("mysql.inc.php");
    $sql = "SELECT DISTINCT prv_regione FROM province ORDER BY prv_regione ASC";
    $st = mysql_query( $sql ) or die(mysql_error());
    echo "Regione <select size=\"1\" name=\"regione\" onchange=\"this.form.submit();\">";
    while ($data = mysql_fetch_object( $st )){
    	echo "<option value=\"{$data->prv_regione}\">{$data->prv_regione}</option>";
    }
    echo "</select>";
    
    $regione = isset($_POST['regione']) ? $_POST['regione'] : '';
    
    if($regione != ''){
    	$sql = "SELECT prv_sigla, prv_nome FROM province ORDER BY prv_nome ASC
    	WHERE prv_regione = '{$regione}'";
    	$st = mysql_query( $sql ) or die(mysql_error());
    	echo "Provincia <select size=\"1\" name=\"provincia\">";
    	while ($data = mysql_fetch_object( $st )){
    		echo "<option value=\"{$data->prv_sigla}\">{$data->prv_nome}</option>";
    	}
    	echo "</select>";
    }
    ?>
    think simple think ringo

  5. #5
    no, così' il menù delle province non appare nemmeno...

  6. #6
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    quella pagina resta così oppure la inserisci da qualche altra parte? perchè se resta così manca tutta la parte HTML per la gestione del form
    think simple think ringo

  7. #7
    eh eh eh..non resta così..sta in un sito dove uno sceglie la regione in quel momento gli si aggiorna il menu a tendina della provincia e quando sceglie la provincia va ad una pagina con gli agenti di vendita presenti su quella provincia...
    in effetti mi sto immaginando che è un bel casino.Devo creare un db con tutti gli agenti e collegarli con un identiciativo alla loro provincia. Siccome ci saranno una decina di agenti che hanno una provincia, mentre alcuni hanno una regione intera....
    come si può fare...

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.