Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 13 su 13

Discussione: select dinamiche

  1. #11
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    78

    Secondo voi...

    ...è possibile inserire una select dinamica usando OPTGROUP
    per poter inserire in una sola select sia il campo regione che quello delle provincie attraverso due query diverse?
    Io ci ho provato con le regioni è funziona ma non riesco ad inserire le provincie?
    Vi posto il codex...non sò dove sbaglio...Ho un altro quesito da porvi e cioè la funzione inviaCambiamenti.Non sono riuscito a capire perchè mi visualizza, al ricaricamento della pagina, la voce "Seleziona" e non invece la regione o la provincia richiesta?
    Un saluto a tutti.Stano.

    <?php
    include( "dati.txt");
    $link=mysql_connect( "$db_host", "$db_login", "root")
    or die ( "Non riesco a connettermi a [b]db_host");
    mysql_select_db ("$database", $link)
    or die ( "Non riesco a selezionare il db $database
    ");


    ?>
    <html><head><script>
    function inviaCambiamenti(){
    document.form1.action = "<?php echo $_SERVER['PHP_SELF'];?>";
    document.form1.submit();
    }
    function check() {
    // Variabili associate ai campi del Form
    var nome = document.form1.regione;
    //Effettua il controllo sul campo NOME
    if ((regione.value == "") || (regione.value == "undefined")) {
    alert("Il campo regione è obbligatorio.");
    document.form1.regione.focus();
    return true;
    }else{
    return false;
    }}
    </script></head><body>
    <form name="form1" method="POST" action="trial.php" onsubmit="return check(this)">
    <SELECT name="regione-provincia" onChange="inviaCambiamenti();">
    <?php $result_regione = mysql_query("SELECT DISTINCT regione FROM 004_provincia order by 'regione'") or die(mysql_error());
    $regione = strip_tags(stripslashes(trim($_POST['regione'])));
    $result_provincia = mysql_query("SELECT DISTINCT regione,provincia FROM 004_provincia WHERE regione='".$regione."'") or die(mysql_error());
    $provincia = strip_tags(stripslashes(trim($_POST['provincia'])));

    echo '<OPTION selected label="regione" value="">Seleziona</OPTION>';
    echo '<OPTION label="regione" value="All">tutte le regioni</OPTION>';
    while($row_regione = mysql_fetch_assoc($result_regione)) {
    if($regione != ''){
    if ($row_regione['regione'] <> $regione){
    echo '<OPTGROUP label="'.$row_regione['regione'].'" >'.$row_regione['regione'];
    echo ' <OPTION label="'.$row_regione['regione'].'" value="'.$row_regione['regione'].'">'.$row_regione['regione'].' pippo</OPTION>';
    while($row_provincia = mysql_fetch_assoc($result_provincia)) {
    if($provincia != ''){
    if ($row_provincia['provincia'] <> $provincia){
    echo ' <OPTION label="test regione" value="'.$row_provincia['provincia'].'">'.$row_regione['regione'].' '.$row_provincia['provincia']. 'pluto</OPTION>';
    }else{
    echo ' <OPTION label="test regione" value="'.$row_provincia['provincia'].'">'.$row_regione['regione'].' '.$row_provincia['provincia']. 'pluto</OPTION>';}
    }else{
    echo ' <OPTION label="test regione" value="'.$row_provincia['provincia'].'">'.$row_regione['regione'].' '.$row_provincia['provincia']. 'pluto</OPTION>';}}
    echo '</OPTGROUP>';
    }else{
    echo '<OPTGROUP label="'.$row_regione['regione'].'" >'.$row_regione['regione'];
    echo ' <OPTION label="'.$row_regione['regione'].'" value="'.$row_regione['regione'].'">'.$row_regione['regione'].' pippo</OPTION>';
    while($row_provincia = mysql_fetch_assoc($result_provincia)) {
    if($provincia != ''){
    if ($row_provincia['provincia'] <> $provincia){
    echo ' <OPTION label="test regione" value="'.$row_provincia['provincia'].'">'.$row_regione['regione'].' '.$row_provincia['provincia']. 'pluto</OPTION>';
    }else{
    echo ' <OPTION label="test regione" value="'.$row_provincia['provincia'].'">'.$row_regione['regione'].' '.$row_provincia['provincia']. 'pluto</OPTION>';}
    }else{
    echo ' <OPTION label="test regione" value="'.$row_provincia['provincia'].'">'.$row_regione['regione'].' '.$row_provincia['provincia']. 'pluto</OPTION>';}}
    echo '</OPTGROUP>';}
    }else{
    echo '<OPTGROUP label="'.$row_regione['regione'].'" >'.$row_regione['regione'];
    echo ' <OPTION label=""'.$row_regione['regione'].'" value="'.$row_regione['regione'].'">'.$row_regione['regione'].' pippo</OPTION>';
    while($row_provincia = mysql_fetch_assoc($result_provincia)) {
    if($provincia != ''){
    if ($row_provincia['provincia'] <> $provincia){
    echo ' <OPTION label="test regione" value="'.$row_provincia['provincia'].'">'.$row_regione['regione'].' '.$row_provincia['provincia']. 'pluto</OPTION>';
    }else{
    echo ' <OPTION label="test regione" value="'.$row_provincia['provincia'].'">'.$row_regione['regione'].' '.$row_provincia['provincia']. 'pluto</OPTION>';}
    }else{
    echo ' <OPTION label="test regione" value="'.$row_provincia['provincia'].'">'.$row_regione['regione'].' '.$row_provincia['provincia']. 'pluto</OPTION>';}}
    echo '</OPTGROUP>';}}?>
    </SELECT></form>
    La regione è <?echo $regione;?>

    La provincia è <?echo $provincia;?>


    </body></html>

  2. #12
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    78

    <OPTGROUP>

    Correggetemi se sbaglio ma credo che <OPTGROUP> non sia selezionabile e quindi ho ovviato con una semplice option normale anche per le regioni ma il problema persiste.Come posso fare?
    Stano.

  3. #13
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    78

    up

    Up.
    Ciao a tutti
    ho riordinato il codex sulle select dinamiche,+ leggibile, ed ho inserito, rispetto a quello suggerito da 13manuel84 che funziona a meraviglia, la riga "echo '<option value="All">All</option>';" per avere la possibilità di poter scegliere o una singola regione o tutte.Questo vale anche per le provincie.Però la nuova riga non funziona e quando clicco sull'opzione All, al refresh della pagina la selct visualizza "Selected" invece di "All".Come posso fare?
    Grazie a tutti della vostra pazienza.:-)
    Stano.
    codex:
    <?php
    error_reporting(E_ALL);

    $link=mysql_connect( "Localhost", "root", "root")
    or die ( "Non riesco a connettermi a [b]Localhost");
    mysql_select_db ("database", $link)
    or die ( "Non riesco a selezionare il db database
    ");

    $query="SELECT DISTINCT regione FROM 004_provincia order by 'regione'";
    $result = mysql_query($query);
    ?>
    <html>
    <head>
    <script type="text/javascript">
    function inviaCambiamenti(){
    document.form1.action = "<?php echo $_SERVER['PHP_SELF']; ?>";
    document.form1.submit();
    }
    </script>
    </head>
    <body><form name="form1" action="update.php" method="POST">
    <table><tr>
    <td><select name="regione" onChange="inviaCambiamenti();">
    <?
    $regione = strip_tags(stripslashes(trim($_POST['regione'])));
    echo '<option value="">Seleziona</option>';
    //echo '<option value="All">All</option>';
    while($row = mysql_fetch_assoc($result)){
    if($regione != ''){
    if ($row['regione'] <> $regione){
    echo '<option value="'.$row['regione'].'" >'.$row['regione'].'</option>';
    }else{
    echo '<option value="'.$row['regione'].'" SELECTED>'.$row['regione'].'</option>'; }
    }else{
    echo '<option value="'.$row['regione'].'">'.$row['regione'].'</option>';
    }}
    ?>
    </select></td>
    <td><select name="provincia" onChange="inviaCambiamenti();">
    <?
    $query2 ="SELECT DISTINCT regione,provincia FROM 004_provincia WHERE regione='".$regione."'";
    $result2 = mysql_query($query2)or die(mysql_error());;

    $provincia = strip_tags(stripslashes(trim($_POST['provincia'])));
    echo '<option value="">Seleziona</option>';
    //echo '<option value="All">All</option>';
    while($row2 = mysql_fetch_assoc($result2)) {
    if($provincia != ''){
    if ($row2['provincia'] <> $provincia){
    echo '<option value="'.$row2['provincia'].'" >'.$row2['provincia'].'</option>';
    }else{
    echo '<option value="'.$row2['provincia'].'" SELECTED>'.$row2['provincia'].'</option>';}
    }else{
    echo '<option value="'.$row2['provincia'].'">'.$row2['provincia'].'</option>';
    }}
    ?>

    </form>
    la regione scelta:<?php echo $regione;?>
    la regione scelta:<?php echo $provincia;?>
    </body></html>

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.