• User Attivo

    quello non l'ho fatto io.
    Ne devo realizzare uno uguale e mi serve una mano....


  • Consiglio Direttivo

    bene....le query da fare sono quelle...
    dove hai dubbi?


  • User Attivo

    come fargliele eseguire ogni volta che cambio regione....


  • Consiglio Direttivo

    In PHP non puoi far altro che mettere un bel tasto submit dato che è un linguaggio lato server
    In Js (ovvero com'è fatto in quel sito da te linkato)

    [php]<select onchange="document.nome_form.submit()" name="region">[/php]
    ricarica la pagina alla selezione di una nuova regione e ti raccogli i dati postati per rieseguire le query


  • User Attivo

    @Samyorn said:

    ricarica la pagina alla selezione di una nuova regione e ti raccogli i dati postati per rieseguire le query

    ecco....proprio questo non so fare.....:bho:


  • Consiglio Direttivo

    Ah, ecco 😄
    Allora prova così, dovrebbe andare 😉
    [php]<?
    $id_regione="";
    $id_provincia="";
    $id_comune="";

    $id_regione=$_POST['regione'];
    $id_provincia=$_POST['provincia'];
    $id_comune=$_POST['comune'];
    ?>

    <form action="page.php" name="search" method="POST">
    <select onchange="document.search.submit()" name="regione">
    <option value="">Scegli regione...</option>
    <?
    $sql_regione="SELECT * FROM regione ORDER BY descrizione";
    $query_regione=@mysql_query($sql_regione) or die (mysql_error());
    while ($array=mysql_fetch_array($query_regione))
    {
    ?>
    <option value="<? echo $array['id']; ?>"<? if ($id_regione==$array['id']) {echo " selected";} ?>><? echo $array['descrizione']; ?></option>
    <?
    }
    ?>
    </select>

    <select onchange="document.search.submit()" name="provincia">
    <option value="">Scegli provincia...</option>
    <?
    $sql_provincia="SELECT * FROM provincia";
    if ($id_regione!="")
    {
        $sql_provincia.=" WHERE id_regione='$id_regione'";
    }
    $sql_provincia.=" ORDER BY descrizione";
    $query_provincia=@mysql_query($sql_provincia) or die (mysql_error());
    while ($array=mysql_fetch_array($query_provincia))
    {
    ?>
        <option value="<? echo $array['id']; ?>"<? if ($id_provincia==$array['id']) {echo " selected";} ?>><? echo $array['descrizione']; ?></option>
    <?
    }
    ?>
    </select>
    
    <select onchange="document.search.submit()" name="comune">
    <option value="">Scegli il comune...</option>
    <?
    $sql_comuni="SELECT * FROM comuni";
    if ($id_provincia!="")
    {
        $sql_comuni.=" WHERE id_provincia='$id_regione'";
    }
    $sql_comuni.=" ORDER BY descrizione";
    $query_comunia=@mysql_query($sql_comuni) or die (mysql_error());
    while ($array=mysql_fetch_array($query_comunia))
    {
    ?>
        <option value="<? echo $array['id']; ?>"<? if ($id_comune==$array['id']) {echo " selected";} ?>><? echo $array['descrizione']; ?></option>
    <?
    }
    ?>
    </select>
    

    </form>[/php]


  • User Attivo

    ehi grazie tante per il codice.
    l'ho provato ma non va....
    Cioè le select si riempiono ma sono bianche.....
    non si vede il contenuto!!!
    e in più pur non scegliendo la regione, sia comune che provincia sono piene.... :s


  • Consiglio Direttivo

    Io ho messo dei nomi campo a caso, devi sistemarli per come hai impostato tu il Db
    L'ho testato e funziona, devi solo cambiare questa riga, ho dimenticato di cambiare la variabile...ma comunque mi funziona 😉
    [php]$sql_comuni.=" WHERE id_provincia='$id_provincia'";[/php]EDIT:
    si, tira fuori cmq i dati, cambiala così:

    [php]<?
    $id_regione="";
    $id_provincia="";
    $id_comune="";

    $id_regione=$_POST['regione'];
    $id_provincia=$_POST['provincia'];
    $id_comune=$_POST['comune'];
    include "config.inc.php";
    ?>

    <form action="index.php" name="search" method="POST">
    <select onchange="document.search.submit()" name="regione">
    <option value="">Scegli regione...</option>
    <?
    $sql_regione="SELECT * FROM regione ORDER BY descrizione";
    $query_regione=@mysql_query($sql_regione) or die (mysql_error());
    while ($array=mysql_fetch_array($query_regione))
    {
    ?>
    <option value="<? echo $array['id']; ?>"<? if ($id_regione==$array['id']) {echo " selected";} ?>><? echo $array['descrizione']; ?></option>
    <?
    }
    ?>
    </select>

    <select onchange="document.search.submit()" name="provincia">
    <option value="">Scegli provincia...</option>
    <?
    $sql_provincia="SELECT * FROM provincia WHERE id_regione='$id_regione' ORDER BY descrizione";
    $query_provincia=@mysql_query($sql_provincia) or die (mysql_error());
    while ($array=mysql_fetch_array($query_provincia))
    {
    ?>
        <option value="<? echo $array['id']; ?>"<? if ($id_provincia==$array['id']) {echo " selected";} ?>><? echo $array['descrizione']; ?></option>
    <?
    }
    ?>
    </select>
    
    <select onchange="document.search.submit()" name="comune">
    <option value="">Scegli il comune...</option>
    <?
    $sql_comuni="SELECT * FROM comuni  WHERE id_provincia='$id_provincia' ORDER BY descrizione";
    $query_comunia=@mysql_query($sql_comuni) or die (mysql_error());
    while ($array=mysql_fetch_array($query_comunia))
    {
    ?>
        <option value="<? echo $array['id']; ?>"<? if ($id_comune==$array['id']) {echo " selected";} ?>><? echo $array['descrizione']; ?></option>
    <?
    }
    ?>
    </select>
    

    </form>[/php]


  • User Attivo

    si ho già adattato alle mie esigenze....ma non funziona lo stesso....
    posto?


  • Consiglio Direttivo

    Ho editato prova in quel modo 😉

    se non funziona nemmeno così posta la pagina e la struttura delle tabelle 😉


  • User Attivo

    ecco la pagina compro.php

    [PHP]<?php
    $id_regione="";
    $id_provincia="";
    $id_comune="";

    $id_regione=$_POST['regione'];
    $id_provincia=$_POST['provincia'];
    $id_comune=$_POST['comune'];
    ?>

    <form action="compro.php" name="search" method="POST">
    <select onchange="document.search.submit()" name="regione">
    <option value="">Scegli regione...</option>
    <?php
    $sql_regione="SELECT nome,codice FROM regioni ORDER BY nome";
    $query_regione=@mysql_query($sql_regione) or die (mysql_error());
    while ($rigaR=mysql_fetch_array($query_regione)){
    $regione=$rigaR['nome'];
    $idRegione=$rigaR['codice'];
    echo "<option value='$idRegione'";
    if ($id_regione==$idRegione)
    echo " selected";
    echo $regione ."</option>";
    }
    ?>
    </select></td>
    </tr>
    <tr>
    <td>Provincia: </td>
    <td>
    <select onchange="document.search.submit()" name="provincia">
    <option value="">Scegli provincia...</option>
    <?php
    if(isset($id_regione)){
    $sql_provincia="SELECT * FROM province WHERE codice_regione='$id_regione' ORDER BY nome";
    $query_provincia=@mysql_query($sql_provincia) or die (mysql_error());
    while ($rigaP=mysql_fetch_array($query_provincia)){
    $provincia=$rigaP['nome'];
    $idProvincia=$rigaP['codice'];
    echo "<option value='$idProvincia'";
    if ($id_provincia==$idProvincia) {echo " selected";}
    echo $provincia."</option>";
    }}
    ?>
    </select></td>
    </tr>
    <tr>
    <td>Comune: </td>
    <td>
    <select onchange="document.search.submit()" name="comune">
    <option value="">Scegli il comune...</option>
    <?php
    if(isset($id_provincia)){
    $sql_comuni="SELECT * FROM comuni WHERE codice_provincia='$id_provincia' ORDER BY nome";
    $query_comuni=@mysql_query($sql_comuni) or die (mysql_error());
    while ($rigaC=mysql_fetch_array($query_comuni)){
    $comune=$rigaC['nome'];
    $idComune=$rigaC['codice'];
    echo "<option value='$idComune'";
    if ($id_comune==$idComune) {echo " selected";}
    echo $comune."</option>";
    }}
    ?>
    </select></td>
    </tr>
    </form>[/PHP]

    Tabelle:
    COMUNI
    id
    codice_provincia
    codice
    nome

    PROVINCE
    id
    codice_regione
    codice
    nome

    REGIONI
    id
    codice
    nome


  • Consiglio Direttivo

    ti eri dimenticato di chiudere i tag delle <option**>

    **[PHP]<?php
    $id_regione="";
    $id_provincia="";
    $id_comune="";

    $id_regione=$_POST['regione'];
    $id_provincia=$_POST['provincia'];
    $id_comune=$_POST['comune'];
    ?>

    <form action="index.php" name="search" method="POST">
    <select onchange="document.search.submit()" name="regione">
    <option value="">Scegli regione...</option>
    <?php
    $sql_regione="SELECT nome,codice FROM regioni ORDER BY nome";
    $query_regione=@mysql_query($sql_regione) or die (mysql_error());
    while ($rigaR=mysql_fetch_array($query_regione)){
    $regione=$rigaR['nome'];
    $idRegione=$rigaR['codice'];
    echo "<option value='$idRegione'";
    if ($id_regione==$idRegione)
    echo " selected";
    echo ">".$regione ."</option>";
    }
    ?>
    </select></td>
    </tr>
    <tr>
    <td>Provincia: </td>
    <td>
    <select onchange="document.search.submit()" name="provincia">
    <option value="">Scegli provincia...</option>
    <?php
    if(isset($id_regione)){
    $sql_provincia="SELECT * FROM province WHERE codice_regione='$id_regione' ORDER BY nome";
    $query_provincia=@mysql_query($sql_provincia) or die (mysql_error());
    while ($rigaP=mysql_fetch_array($query_provincia)){
    $provincia=$rigaP['nome'];
    $idProvincia=$rigaP['codice'];
    echo "<option value='$idProvincia'";
    if ($id_provincia==$idProvincia) {echo " selected";}
    echo ">".$provincia."</option>";
    }}
    ?>
    </select></td>
    </tr>
    <tr>
    <td>Comune: </td>
    <td>
    <select onchange="document.search.submit()" name="comune">
    <option value="">Scegli il comune...</option>
    <?php
    if(isset($id_provincia)){
    $sql_comuni="SELECT * FROM comuni WHERE codice_provincia='$id_provincia' ORDER BY nome";
    $query_comuni=@mysql_query($sql_comuni) or die (mysql_error());
    while ($rigaC=mysql_fetch_array($query_comuni)){
    $comune=$rigaC['nome'];
    $idComune=$rigaC['codice'];
    echo "<option value='$idComune'";
    if ($id_comune==$idComune) {echo " selected";}
    echo ">".$comune."</option>";
    }}
    ?>
    </select></td>
    </tr>
    </form>[/PHP]


  • User Attivo

    grazie!!!
    un genio!!


  • User Attivo

    ciao :sbav:
    allora
    in questo script ci sono tre select

    ex

    lombardia milano rho O
    puglia foggia vieste

    nel mio script eseguo la ricerca in rappresentanti e il risultato sarebbe ex

    1 Giorgio O
    2 Gianni

    MA SE IO VOLESSI OLTRE ALLA RICERCA CE NEL RISULTATO MI COMPARISSE .... ex

    lombardia milano rho 1 Giorgio O

    puglia foggia vieste 2 Gianni

    cosa devo fare...............

    <?php
    require('config.php');
    ?>
    <?php
    $id_regioni="";
    $id_provincie="";
    $id_comuni="";
    $id_regioni=$_POST['regione'];
    $id_provincie=$_POST['provincia'];
    $id_comuni=$_POST['comune'];
    ?>
    <form action="<?php $_SERVER["PHP_SELF"]?>" name="search" method="POST">
    <select onchange="document.search.submit()" name="regione">
    <option value="">Scegli regione...</option>
    <?php
    $sql_regione="SELECT * FROM regioni ORDER BY nome";
    $query_regione=@mysql_query($sql_regione) or die (mysql_error());
    while ($rigaR=mysql_fetch_array($query_regione)){
    $regione=$rigaR['nome'];
    $idRegione=$rigaR['id_regioni'];
    echo "<option value='$idRegione'";
    if ($id_regioni==$idRegione)
    echo " selected";
    echo ">".$regione ."</option>";
    }
    ?>
    </select></td>
    </tr>
    <tr>
    <td>Provincia: </td>
    <td>
    <select onchange="document.search.submit()" name="provincia">
    <option value="">Scegli provincia...</option>
    <?php
    if(isset($id_regioni)){
    $sql_provincia="SELECT * FROM provincie WHERE id_regioni='$id_regioni' ORDER BY nome";
    $query_provincia=@mysql_query($sql_provincia) or die (mysql_error());
    while ($rigaP=mysql_fetch_array($query_provincia)){
    $provincia=$rigaP['nome'];
    $idProvincia=$rigaP['id_provincie'];
    echo "<option value='$idProvincia'";
    if ($id_provincie==$idProvincia) {echo " selected";}
    echo ">".$provincia."</option>";
    }}
    ?>
    </select></td>
    </tr>
    <tr>
    <td>Comune: </td>
    <td>
    <select onchange="document.search.submit()" name="comune">
    <option value="">Scegli il comune...</option>
    <?php
    if(isset($id_provincie)){
    $sql_comuni="SELECT * FROM comuni WHERE id_provincie='$id_provincie' ORDER BY nome";
    $query_comuni=@mysql_query($sql_comuni) or die (mysql_error());
    while ($rigaC=mysql_fetch_array($query_comuni)){
    $comune=$rigaC['nome'];
    $idComune=$rigaC['id_comuni'];
    echo "<option value='$idComune'";
    if ($id_comuni==$idComune) {echo " selected";}
    echo ">".$comune."</option>";
    }}
    ?>
    </select></td>
    </tr>
    <label>
    <?php
    $sql_rappresentanti = "SELECT * FROM rappresentanti WHERE id_comuni='$id_comuni' ORDER BY nome";
    $query_rappresentanti=@mysql_query($sql_rappresentanti) or die (mysql_error());
    while ($rapp=mysql_fetch_array($query_rappresentanti))
    {
    $nome=$rapp['nome'];
    $id=$rapp['id_rappresentanti'];
    echo "</br>$id $nome</br>";
    }
    //libero memoria
    mysql_free_result($result);
    //chiudo la connessione
    mysql_close();
    ?>
    </form>

    thanks💋💋💋


  • Consiglio Direttivo

    Se strutturi la tabella rappresentanti così

    id | nome | id_comuni

    immagino dovresti scrivere
    [PHP] $sql_rappresentanti = "SELECT * FROM rappresentanti WHERE id_comuni='$id_comuni' ORDER BY nome";
    $query_rappresentanti=@mysql_query($sql_rappresentanti) or die (mysql_error());
    while ($rapp=mysql_fetch_array($query_rappresentanti))
    {
    $nome=$rapp['nome'];
    $id=$rapp['id'];
    echo "</br>$id $nome</br>";
    }[/PHP]
    :wink3:


  • User Attivo

    La tabella e' si strutturata come hai detto
    COSI IO OTTENGO
    1 Giorgio O
    2 Gianni

    E NON
    lombardia milano rho 1 Giorgio O

    puglia foggia vieste 2 Gianni

    IO VOLEVO PRENDERE ANCHE LE COLONNE DELLE ALTRE TRE TABELLE CREATE
    nome REGIONI
    nome PROVINCIE
    nome COMUNI
    e inserirle nella ricerca efettuata


  • Consiglio Direttivo

    Ah, vuoi che ti stampi tutti i campi allora? 😄
    Non avevo compreso:

    [php]<?php
    require('config.php');

    $id_regioni="";
    $id_provincie="";
    $id_comuni="";

    $id_regioni=$_POST['regione'];
    $id_provincie=$_POST['provincia'];
    $id_comuni=$_POST['comune'];
    ?>
    <form action="<?php $_SERVER["PHP_SELF"]?>" name="search" method="POST">
    <select onchange="document.search.submit()" name="regione">
    <option value="">Scegli regione...</option>
    <?php
    $sql_regione="SELECT * FROM regioni ORDER BY nome";
    $query_regione=@mysql_query($sql_regione) or die (mysql_error());
    while ($rigaR=mysql_fetch_array($query_regione)){
    $regione=$rigaR['nome'];
    $idRegione=$rigaR['id_regioni'];
    echo "<option value='$idRegione'";
    if ($id_regioni==$idRegione)
    echo " selected";
    echo ">".$regione ."</option>";
    }
    ?>
    </select></td>
    </tr>
    <tr>
    <td>Provincia: </td>
    <td>
    <select onchange="document.search.submit()" name="provincia">
    <option value="">Scegli provincia...</option>
    <?php
    if(isset($id_regioni)){
    $sql_provincia="SELECT * FROM provincie WHERE id_regioni='$id_regioni' ORDER BY nome";
    $query_provincia=@mysql_query($sql_provincia) or die (mysql_error());
    while ($rigaP=mysql_fetch_array($query_provincia)){
    $provincia=$rigaP['nome'];
    $idProvincia=$rigaP['id_provincie'];
    echo "<option value='$idProvincia'";
    if ($id_provincie==$idProvincia) {echo " selected";}
    echo ">".$provincia."</option>";
    }}
    ?>
    </select></td>
    </tr>
    <tr>
    <td>Comune: </td>
    <td>
    <select onchange="document.search.submit()" name="comune">
    <option value="">Scegli il comune...</option>
    <?php
    if(isset($id_provincie)){
    $sql_comuni="SELECT * FROM comuni WHERE id_provincie='$id_provincie' ORDER BY nome";
    $query_comuni=@mysql_query($sql_comuni) or die (mysql_error());
    while ($rigaC=mysql_fetch_array($query_comuni)){
    $comune=$rigaC['nome'];
    $idComune=$rigaC['id_comuni'];
    echo "<option value='$idComune'";
    if ($id_comuni==$idComune) {echo " selected";}
    echo ">".$comune."</option>";
    }}
    ?>
    </select></td>
    </tr>
    <label>
    <?php
    $sql_rappresentanti = "SELECT * FROM rappresentanti WHERE id_comuni='$id_comuni' ORDER BY nome";
    $query_rappresentanti=@mysql_query($sql_rappresentanti) or die (mysql_error());
    while ($rapp=mysql_fetch_array($query_rappresentanti))
    {
    $nome=$rapp['nome'];
    $id=$rapp['id'];
    echo "</br>$regione - $provincia - $comune - $id $nome</br>";
    }
    //libero memoria
    mysql_free_result($result);
    //chiudo la connessione
    mysql_close();
    ?>
    </form>[/php]
    😉


  • User Attivo

    grazie pero' non funziona
    boh
    se trovo lo sbaglio lo posto
    ciaoooooo


  • User Newbie

    praticamente adesso il problema è sorto quando dopo l iscrizione che funziona benissimo se voglio fare una pagina per la modifica dei dati dell utente ogni volta che ricarico la pagina clikkando ad esempio su un altra regione quando ricarica mi ridà di nuovo giustamente la regione che trova nel database cioè la stessa che cera prima che io cercavo di cambiarla. è in tutto cio perdo anke l id dell iscritto a questo ho provveduto salvandomelo in una variabile di sessione anke se come fatto è un po sporco, magari cè anke un metodo per ripassarmelo quando ricarica dalla select. Grazie aiutatemiiii.... 😞


  • Consiglio Direttivo

    Ciao atomo e benvenuto nel Forum GT

    Non mi è chiaro il problema, tu dici che al ricaricamento della pagina perdi il dato salvato in sessione......mi pare molto strano, dato che la sessione non c'entra nulla con il form....controlla dove "tocchi" le variabili di sessione nel tuo script....ci deve essere qualcosa che non va' 😉