Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di Tr|k`Tr4k
    Registrato dal
    Jul 2002
    Messaggi
    2,766

    selezionando la regione mi deve mostrare le citta di quella regione

    Sto facendo un menu' a tendina e voglio fare in modo che selezionando una regione, in un menu a tendina di sotto mi escano solo le citta' di quella regione.

    Per esempio seleziono molise nel primo menu, nel secondo devono uscire solo campobasso e iserina.

    Io ho una tabella nel db formata da tre campi: id, provincia e regione.
    In ogni id ho gia' messo la provincia e la relativa regione.

    Ora come procedo?
    sto lavorando su questo codice:
    Codice PHP:
    <?
    include("config.php");
    $sql "SELECT citta, regione FROM citta";
    $risultato=mysql_query($sql);
    while(
    $riga mysql_fetch_array($risultato)) {
     
    $citta$riga['citta'];
     
    $regione$riga['regione'];
    $blocco_regioni .= "<option value=\"$regione\">$regione</option>";
    $visualizza_blocco "<form>

    <select>
    $blocco_regioni</select></form>";
    }
    ?>

  2. #2
    questo è vecchio:
    qui il db
    http://utenti.lycos.it/andreinoz/province.sql
    Codice PHP:
    <? 
    $page 
    $_SERVER['PHP_SELF']; // la pagina php 
    $qstr $_SERVER['QUERY_STRING']; // la parte della stringa 
                                
    echo "<script type=text/javascript> 
    function cambia(id){ 
    window.location = '
    $page?$qstr&r='+id 

    </script>"


    $sql_reg mysql_query("SELECT DISTINCT cmn_provincia FROM comuni ORDER BY cmn_provincia ASC"); 


    echo 
    "Provincia <select size=1 name=provincia onchange=java-script:cambia(this.value)>"
    echo 
    "<option value=$_GET[r]>$_GET[r]</option>";//ho aggiunto questa riga così quando lo script java fa il refresh il browser non perde i valori 
    while ($data mysql_fetch_object($sql_reg)) 

    echo 
    "<option value=$data->cmn_provincia>$data->cmn_provincia</option>"

    echo 
    "</select>"
    echo 
    "Comune <select size=1 name=comune>"
    if(isset(
    $_GET['r'])){ 
    $sql_prv mysql_query("SELECT cmn_provincia, cmn_comune FROM comuni where cmn_provincia='$_GET[r]' ORDER BY cmn_provincia ASC");// ho aggiunto la clausola where per farlo cercare solo nella provincia 
    while ($data mysql_fetch_object($sql_prv)) 

    echo 
    "<option value=\"$data->cmn_comune\">$data->cmn_comune</option>"

    }else{ 
    echo 
    "<option>Seleziona prima una provincia</option>"

    echo 
    "</select> 
    ?>

    non l'ho provato ma una volta andava

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    442

    Risposta a selezionando la regione mi deve mostrare le citta di quella regione

    ciao, devi fare almeno due tabelle

    regioni:
    IDregione (primary key)
    regione

    cittaometti sempre gli accenti)
    IDcitta (prymari key)
    citta
    id_reg (chiave esterna)

    Ti presento un similare codice:

    regione.php

    $query="select * from regione ";
    //, objectwhere category.ID_cat=object.id_cat
    $risultato=mysql_query($query) or die ("Errore nella query:".mysql_error());

    $num_riga=mysql_num_rows($risultato);



    echo "<form name='' method='get' action='pagina di destinazione'>";

    //seleziona regione

    echo "<form action='include/include_categorie/elencofoto.php' method='get'>";
    echo "<center><select name='IDcitta'>";

    while($riga=mysql_fetch_array($risultato))
    {

    print "<option value='".$riga['ID_regione']."'>".$riga['regione'];

    }

    echo "</select>

    ";

    ?>
    <center>
    <table>
    <tr>
    <td>
    <input type="submit" value="Accedi alle citta">
    </td></tr>
    </table>
    </form>


    </center>
    <?

    mysql_close($connessione);


    elencocitta.php

    include 'conf.inc.php';

    //seleziona da regione le citta

    $oggetto=$_GET['IDcitta'];


    $sql="select * from object where ID_regione='".$oggetto."' ;

    //print $sql;

    //esegue la query

    $risultato=mysql_query($sql,$connessione)or die ("Errore nella query");

    //array che contiene i risultati di $risultato

    print "<table height=100% width=100% border=1 bgcolor=#74e6f6>";

    print "<tr><td>CItta</td></tr>";

    while($riga=mysql_fetch_array($risultato))
    {
    print "<tr><td>".$riga['citta']."</td>";

    }

    print "</table>";

    mysql_close($connessione);
    ?>


    prova in questo modo se riesci.ciao di nuovo

  4. #4
    Utente di HTML.it L'avatar di Tr|k`Tr4k
    Registrato dal
    Jul 2002
    Messaggi
    2,766
    sto usando il codice di Lowenthal e volevo chiedere:
    come si mette chiave esterna nel campo id_reg ? (usando phpmyadmin)

  5. #5
    Utente di HTML.it L'avatar di Tr|k`Tr4k
    Registrato dal
    Jul 2002
    Messaggi
    2,766
    up

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    442

    RIsposta a Tr|k`Tr4k

    nel database mysql IDregione è la chiave primaria ed è di tipo int ed id_regione che è la chiiave esterna la metti di tipo int
    quando fai le query per collegare i campi fai

    select * from regione where IDregione=id_regione

    ciao

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 © 2026 vBulletin Solutions, Inc. All rights reserved.