Visualizzazione dei risultati da 1 a 2 su 2

Discussione: PHP Javascript o Ajax

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    323

    PHP Javascript o Ajax

    Salve a tutti, io ho un problema e non so come fare.

    Io ho un form PHP in cui ho la scelta di
    - NAzione
    - Provincia
    - Paese - Città

    Se un utente mi sceglie solo Nazione , vorrei fare con Ajax o Javascript la selezione della Provincia e Città. Se invece l'utente sceglia sia Nazione sia Provincia, vorrei fare solo la selezione della Città. Se invece non ha scelto nulla, vorrei fare la scelta dei tre campi. Ma non so come fare in Ajax. Qualcuno ha un'idea?


    Grazie a tutti

    <?

    $nazione = $_POST['nazione'];
    $regione = $_POST['regione'];
    $citta = $_POST['citta'];

    if ($nazione) $id=1;
    if ($regione) $id=2;
    if ($citta) $id=3;

    $dbhost = "localhost";
    $dbuser = "root";
    $dbpass = "1234";
    $dbname = "realestate";
    mysql_pconnect($dbhost,$dbuser,$dbpass) or die ("Unable to connect to MySQL server");


    ?>

    <form id="test" method="post" action="<?=$_SERVER['PHP_SELF']?>">
    <select name="nazione" onchange="this.form.submit()">
    <option value=""></option>
    <?php
    $result=mysql_db_query($dbname,"select distinct(country) from addresses where detail='1'");
    while(list($country)=mysql_fetch_array($result)){
    if ($nazione == $country) { echo "<option value=\"$country\" selected=selected>$country</option> \n"; } else
    { echo "<option value=\"$country\">$country</option> \n"; }
    }
    ?>
    </select>

    <? if ($id==1) { ?>

    <select name="regione" onchange="this.form.submit()">
    <option value=""></option>
    <?
    $result=mysql_db_query($dbname,"SELECT distinct(state) FROM addresses WHERE detail='1' and country LIKE '$nazione' ");
    while(list($state)=mysql_fetch_array($result)){
    if ($regione==$state) { echo "<option value=\"$state\" selected=selected>$state</option> \n" ; }
    else
    {
    echo "<option value=\"$state\" >$state</option> \n" ;
    }
    }
    ?>
    </select>
    <? }
    else { ?>

    <select name="regione" size="1" onchange="this.form.submit()">
    <option value=""></option>
    <?
    if ($regione=='') {
    echo "<option value=\"\" selected=selected>Select a Country</option> \n" ;
    }
    else
    {
    echo "<option value=\"$regione\" selected=selected>".$regione."</option> \n" ;
    }

    ?>
    </select>

    <? } ?>

    <? if ($id==2) { ?>
    <option value=""></option>
    <select name="citta" onchange="this.form.submit()">
    <?
    $result=mysql_db_query($dbname,"SELECT distinct(city) FROM addresses WHERE
    detail='1' and state LIKE '$regione' ");
    while(list($city)=mysql_fetch_array($result)){
    echo "<option value=\"$city\" >$city</option> \n" ;
    }
    ?>
    </select>
    <? } else { ?>

    <select name="citta" size="1" onchange="this.form.submit()">
    <option value=""></option>
    <?
    if ($citta=='') {
    echo "<option value=\"\" selected=selected>Select a Region</option> \n" ;
    }
    else
    {
    echo "<option value=\"$citta\" selected=selected>".$citta."</option> \n" ;
    }

    ?>
    </select>

    <? } ?>

    <div class="clear"></div>
    <input type="submit" value="Filter results" name="submit" class="submit" />
    <div class="clear"></div>
    </form>
    Se tengo questo codice non mi tiene a memoria i valori come mai? Ad esempio se l'utente sceglie la Nazione, vi é il refresh della pagina ma perde il valore Nazione, come mai?
    Ossia mi tiene i valori solo se ogni volta clicco il pulsante. Io vorrei che ci fosse l'auto submit

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    323
    Ho capito, poiché il button si chiama anch'esso submit. problema risolto dunque

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.