Visualizzazione dei risultati da 1 a 3 su 3

Discussione: PHP - Forms

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

    PHP - Forms

    Salve a tutti io ho questo codice PHP :
    <?php
    $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");


    ?>

    <html>
    <head><title></title></head>
    <body>
    <form id="test" method="post" action="<?=$_SERVER['PHP_SELF']?>">
    <select name="nazione" onchange="document.forms[0].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="document.forms[0].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>
    <? } ?>

    <? if ($id==2) { ?>
    <option value=""></option>
    <select name="citta" onchange="document.forms[0].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>
    <? } ?>



    </form>
    </body>
    </html>
    La mia domanda é come faccio a far comparire le tre select insieme?
    Se tengo cosi' il codice mi compare la 1 select, ossia la select della nazione, scelta la nazione mi compare la select della regione e scelta la regione mi scompare la select della regione e compare la select della citta. Non so come fare.

    AIUTO

    grazie a tutti
    Immagini allegate Immagini allegate

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    323
    A farli uscire tutti e tre ce l'ho fatta, dopo posto il codice, ma quel che mi manca é: dopo che l'utente ha effettuato le tre scelte, vorrei che l'utente dopo aver cliccato SEARCH andasse alla pagina di search.php, ma non so come fare. Qualcuno ha un'idea?
    <?php
    $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");


    ?>

    <html>
    <head><title></title></head>
    <body>
    <form id="test" method="post" action="<?=$_SERVER['PHP_SELF']?>">
    <select name="nazione" onchange="document.forms[0].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="document.forms[0].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="document.forms[0].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="document.forms[0].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="document.forms[0].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>



    <? } ?>

    </form>
    </body>
    </html>

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    323
    per il pulsante é ok, ma ho un'altra domanda. se l'utente sceglie NAZIONE - REGIONE e CITTà, se pero' cambia la nazione, non riesco a far funzionare le altre 2 select. Come potrei fare?
    quel che vorrei fare é fare un reset della ricerca.

    Grazie a tutti

    Quel che vorrei ottenere io é:
    - se ad esempio l'utente sceglie Nazione, regione e città e se ha sbagliato e sceglie una nuova nazione , vorrei che gli altri 2 select si azzerassero
    - se sceglie la nazione la regione e la citta', se cambia regione vorrei che città si azzerasse
    - e cosi' via....


    come potrei fare, sono aperto a vari suggerimenti.

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.