Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    79

    Problema Select menu tendina dinamici per regioni, province, comuni

    Salve praticamente ho cercato un po in giro su internet e ho trovato quello che mi serviva cioè in un form di iscrizione volevo le tre select Regione, Provincia, Comune, che praticamente quando selezioni la regione automaticamente la pagina si carica e nella select provincia escono solo le provincie di quella regione e cosi anke per il comune e tutto funziona correttamente se puo interessare lo script l ho trovato qui http://www.giorgiotave.it/forum/php...html#post560531 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....

  2. #2
    beh, a parte che ricaricare ogni volta la pagina non è proprio er Mejo ('nsomma Ajax è un po' li per questo...), immagino che userai una funzione in JS per effettuare il window.location.href sul nuovo url. Devi fare in modo che, all'apertura della pagina, aggiunga a queste funzioni anche gli altri dati passati in GET:

    metti che per fare l'edit dell'utente passi:
    edit.user.php?id=2

    Allora dove definisci le funzioni JS fai:

    window.location.href=edit.user.php?regione=documen t.regione.options[document.regione.selectedIndex].value<?=(isset($_GET['id']) ? '&id='.$_GET['id'] : '')?>

    Ovviamente se hai altri parametri, devi aggiungere anche quelli.
    Spero di essermi spiegato.

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    79

    ciao scusa forse ho sbagliato io

    io uso il php non asp e ora mi trovo a usare la select on change con dentro tipo ora non lo ho davanti tipo document submit() una cosa del genere e volevo sapere come passare una variabile a php con questa funzione facendo il refresh della pagina e pure come risolvere il problema che quando vado nel form di modifica utente quando cambio tipo la regione nella select dopo aver refreshato mi riporta la select sulla regione che era prima che io la modificassi perchè si seleziona sull id della regione che trova nel database nel record dell utente, non so se sono chiaro ora .. spero .....

  4. #4
    prova cosi:
    quando l'utente deve modificare i suoi dati andrà in una pagina apposta, qui non mettere body.onload=caricaRegione(xxx,ect); ma crea una query che richiama la regione dell'utente e di conseguenza provincia e comune.

  5. #5

    Re: ciao scusa forse ho sbagliato io

    Originariamente inviato da atomox
    io uso il php non asp
    ?!?
    e ora mi trovo a usare la select on change con dentro tipo ora non lo ho davanti tipo document submit() una cosa del genere
    La punteggiatura questa sconosciuta...
    e volevo sapere come passare una variabile a php con questa funzione facendo il refresh della pagina
    te l'ho scritto sopra, devi passare il valore in GET nell'url quando fai il refresh
    e pure come risolvere il problema che quando vado nel form di modifica utente quando cambio tipo la regione nella select dopo aver refreshato mi riporta la select sulla regione che era prima che io la modificassi perchè si seleziona sull id della regione che trova nel database nel record dell utente
    Probabilmente perché nella parte di PHP fai una serie di if a cascata del tipo:
    if(isset($row['id_regione']))
    {
    //popolo la select con id_regione dal DB
    }
    else if(isset($_GET['regione']))
    {
    //popolo la select con l'id Passato in GET
    }
    , non so se sono chiaro ora .. spero .....
    Mica tanto non hai un link dov'è visibile il tuo script, che ci da un'occhiata?

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    79

    grazie per la risposta innanzitutto

    aspetta ora ti scrivo il codice delle 2 select Regioni e Province cosi se puoi riscrivermelo modificato in modo che con il get quando carica mi passa una variabile pure sull url.------------------------------------------------------------------------------------------------




    <select onchange="document.search.submit()" name="regione">

    <option value=""><?php echo $regione ?></option>
    <?php

    $sql_regione="SELECT * FROM regioni ";
    $query_regione=@mysql_query($sql_regione) or die (mysql_error());
    while ($array=mysql_fetch_array($query_regione))
    {
    ?>

    <option value="<?php echo $array['idregione']; ?>"<?php if ($id_regione==$array['idregione']) {echo " selected";} ?>><?php echo $array['nomeregione']; ?></option>

    <?php
    }
    ?>
    </select>





    <select onchange="document.search.submit()" name="provincia">
    <option value=""><?php echo $provincia ?></option>
    <?php
    $sql_provincia="SELECT * FROM province WHERE idregione='$id_regione' ";
    $query_provincia=@mysql_query($sql_provincia) or die (mysql_error());
    while ($array=mysql_fetch_array($query_provincia))
    {

    ?>
    <option value="<?php echo $array['idprovincia']; ?>"<?php if ($id_provincia==$array['idprovincia']) {echo " selected";} ?>><?php echo $array['nomeprovincia']; ?></option>
    <?php
    }
    ?>
    </select>

  7. #7
    ecco non avevo capito infatti che facevi submit praticamente.

    Nella form search aggiungici un <input type="hidden" name="id" value="<?=$_POST['id']?>" /> dove il parametro POST id è l'id dell'utente quando vai ad editarlo, poi fai in modo che la pagina accetti id in post per caricare i dati dell'utente.

    Per le select, guarda non è li che bisogna modificare, ma il punto dove definisci $id_regione e $id_provincia

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    79

    Grazie per le vostre immediate risposte

    Un problema l ho risolto cioè quello di passare una variabile quando mi ricarica la pagina dopo aver selezionato il menu a tendina, ma ora mi rimane un altro problema cerco di spiegarmi il meglio possibile ..
    Allora in poche parole ho un form che mi deve permettere di modificare i dati di un utente e tra questi dati ci sono i 3 famosi menu a tendina "regione, provincia, comune" quando seleziona la regione la pagina ricarica e dovrebbe farmi uscire le province di quella regione e lo stesso quando seleziono la provincia mi escono nel menu comuni solo i comuni di quella provincia tutto cio funziona per l inserimento del nuovo utente ma nel form di modifica utente mi da il seguente problema vado nel form modifica e automaticamente le 3 select sono posizionate sulla regione provincia e comune dell utente, quando vado a modificare la regione e ne seleziono un altra la pagina ricarica e mi ritorna la stessa regione che cera prima perchè va a prendere il dato dall database e quindi mi ritorna sulla stessa regione. vi copio il codice della pagina modifica_utente.php
    --------------------------------------------------------------------------------------
    <?php

    if (isset($_GET['id_iscritto'])){
    $id_iscritto = $_GET['id_iscritto'];
    $_SESSION['id_iscritto'] = $id_iscritto;
    }
    else if (!isset($_GET['id_iscritto']))
    $id_iscritto = $_SESSION['id_iscritto'];



    $id_regione = "";
    $id_provincia = "";
    $id_comune = "";


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


    $query = "SELECT *
    FROM iscritti
    WHERE idiscritto = $id_iscritto";

    $result = mysql_query($query)
    or die(mysql_error());

    while ($row = mysql_fetch_array($result)) {

    $id_iscritto = $row['idiscritto'];
    $nickname = $row['nickname'];
    $password = $row['password'];
    $email = $row['email'];
    $regione = $row['regione'];
    $regione = ricava_campo_da_id("regioni", "nomeregione", "idregione", $regione);
    $provincia = $row['provincia'];
    $provincia = ricava_campo_da_id("province", "nomeprovincia", "idprovincia", $provincia);
    $comune = $row['localita'];
    $comune = ricava_campo_da_id("comuni", "nomecomune", "idcomune", $comune);
    $eta = $row['eta'];
    $sesso = $row['sesso'];
    $confermato = $row['confermato'];

    $data = $row['data_iscrizione']; $data = date ("d-m-Y H:i:s");

    $newsletter = $row['newsletter']; if ($newsletter == 0)
    $newsletter = "NO";
    else $newsletter = "SI";
    $ip_utente = $row['ip_iscritto'];

    if ($confermato == 0)
    $confermato = "NO";
    else
    $confermato = "SI";
    }

    ?>



    <h6>


    Nickname * :
    <input type="text" name ="nickname" maxlength="100" value="<?php echo $nickname ?>" />
    </p>


    Password * :
    <input type="text" name ="password" maxlength="100" value="<?php echo $password ?>" />
    </p>


    Email * :
    <input type="text" name ="email" maxlength="150" value="<?php echo $email ?>" />
    </p>

    <select onchange="document.search.submit()" name="regione">

    <option value=""><?php echo $regione ?></option>
    <?php

    $sql_regione="SELECT * FROM regioni ";
    $query_regione=@mysql_query($sql_regione) or die (mysql_error());
    while ($array=mysql_fetch_array($query_regione))
    {
    ?>

    <option value="<?php echo $array['idregione']; ?>"<?php
    if ($id_regione==$array['idregione']) {echo " selected";} ?>><?php echo $array['nomeregione']; ?></option>

    <?php
    }
    ?>
    </select>





    <select onchange="document.search.submit()" name="provincia">
    <option value=""><?php echo $provincia ?></option>
    <?php
    $sql_provincia="SELECT * FROM province WHERE idregione='$id_regione' ";
    $query_provincia=@mysql_query($sql_provincia) or die (mysql_error());
    while ($array=mysql_fetch_array($query_provincia))
    {

    ?>
    <option value="<?php echo $array['idprovincia']; ?>"<?php if ($id_provincia==$array['idprovincia']) {echo " selected";} ?>><?php echo $array['nomeprovincia']; ?></option>
    <?php
    }
    ?>
    </select>




    <select onchange="document.search.submit()" name="comune">
    <option value=""><?php echo $comune ?></option>
    <?php
    $sql_comuni="SELECT * FROM comuni WHERE idprovincia='$id_provincia' ";
    $query_comunia=@mysql_query($sql_comuni) or die (mysql_error());
    while ($array=mysql_fetch_array($query_comunia))
    {
    ?>
    <option value="<?php echo $array['idcomune']; ?>"<?php if ($id_comune==$array['idcomune']) {echo " selected";} ?>><?php echo $array['nomecomune']; ?></option>
    <?php
    }
    ?>
    </select>



    Eta :
    <input type="text" name ="eta" maxlength="150" value="<?php echo $eta ?>" />
    </p>


    Sesso :
    <input type="text" name ="sesso" maxlength="150" value="<?php echo $sesso ?>" />
    </p>



    Confermato:
    SI<input type="radio" name="confermato_si" value="SI" <?php if ($confermato == "SI") {?> checked="checked" <?php } ?>/>
    NO <input type="radio" name="confermato_no" value="NO" <?php if ($confermato == "NO") { ?> checked="checked" <?php } ?>/>
    </p>



    Data iscrizione:
    <input type="text" name ="data" maxlength="255" value="<?php echo $data ?>" />
    </p>



    Newsletter:
    SI<input type="radio" name="newsletter_si" value="SI" <?php if ($newsletter == "SI") {?> checked="checked" <?php } ?>/>
    NO <input type="radio" name="newsletter_no" value="NO" <?php if ($newsletter == "NO") { ?> checked="checked" <?php } ?>/>
    </p>



    I.P. :
    <input type="text" name ="ip_utente" maxlength="100" value="<?php echo $ip_utente ?>" />
    </p>
    </h6>

    <form method="post" action="conferma_mod_utente.php">

    <input type="hidden" name="id_iscritto" value="<?php echo $id_iscritto ?>" />

    <input type="submit" name="agg" value="Modifica" />
    </center>
    </form>




    <form action="gestione_utenti.php">
    <input type="submit" value="Indietro" />
    </form>

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.