Vi scrivo perché sono un principiante e, dopo ore di lavoro, sono riuscito a fare quello che seguirà, ma alla fine ottengo un errore.
Quello che vorrei fare è visualizzare su una nuova finestra il meteo di un comune che ho scelto in base ai filtraggi eseguiti, inserendo nell'url il codice comune.
Ho fatto un database meteo con le seguenti tre tabelle:
regioni
id (progressivo)
codice (es: LAZ)
nome (es: Lazio)
province
id (progressivo)
codice_regione (es. LAZ)
codice (es: RM)
nome (es: Roma)
comuni
id (progressivo)
codice_provincia (es: RM)
codice (es: 777)
nome (es: Roma)
Poi ho scritto la seguente parte di programma php
<?php
//connessione al database
$settings_dir = "./Meteo";
require_once("$settings_dir/database.php");
//impostazione variabili
$id_regione="";
$id_provincia="";
$id_comune="";
$id_regione=$_POST['regione'];
$id_provincia=$_POST['provincia'];
$id_comune=$_POST['comune'];
?>
//select regione, provincia e comune
<form action="it_meteo_4.php" method="POST" name="search">
<select name="regione" onchange="document.search.submit()">
<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><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><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>
//apertura nuova finestra con il codice comune
<a href="javascript:;"onclick="MM_openBrWindow('http://www.forecast.com/forecast.php?id='+comune+'',
'','width=550,height=300');return false;">Apri le previsioni meteo per la tua località</a>
</form>
Purtroppo, la nuova finestra si apre senza la variabile del codice comune e ho il seguente errore [object HTMLSelectElement]
http://www.forecast.com/forecast.php?id=[object HTMLSelectElement]
Non riesco a capire dove sia il problema, perché sono un principiante e chiedo il vostro aiuto per far funzionare questo script.
Ringrazio anticipatamente.
Lorenzo
Quello che vorrei fare è visualizzare su una nuova finestra il meteo di un comune che ho scelto in base ai filtraggi eseguiti, inserendo nell'url il codice comune.
Ho fatto un database meteo con le seguenti tre tabelle:
regioni
id (progressivo)
codice (es: LAZ)
nome (es: Lazio)
province
id (progressivo)
codice_regione (es. LAZ)
codice (es: RM)
nome (es: Roma)
comuni
id (progressivo)
codice_provincia (es: RM)
codice (es: 777)
nome (es: Roma)
Poi ho scritto la seguente parte di programma php
<?php
//connessione al database
$settings_dir = "./Meteo";
require_once("$settings_dir/database.php");
//impostazione variabili
$id_regione="";
$id_provincia="";
$id_comune="";
$id_regione=$_POST['regione'];
$id_provincia=$_POST['provincia'];
$id_comune=$_POST['comune'];
?>
//select regione, provincia e comune
<form action="it_meteo_4.php" method="POST" name="search">
<select name="regione" onchange="document.search.submit()">
<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><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><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>
//apertura nuova finestra con il codice comune
<a href="javascript:;"onclick="MM_openBrWindow('http://www.forecast.com/forecast.php?id='+comune+'',
'','width=550,height=300');return false;">Apri le previsioni meteo per la tua località</a>
</form>
Purtroppo, la nuova finestra si apre senza la variabile del codice comune e ho il seguente errore [object HTMLSelectElement]
http://www.forecast.com/forecast.php?id=[object HTMLSelectElement]
Non riesco a capire dove sia il problema, perché sono un principiante e chiedo il vostro aiuto per far funzionare questo script.
Ringrazio anticipatamente.
Lorenzo