• Home
  • Forum
  • Fare Web
  • PHP

Recupero dati

  • Creatore Discussione Creatore Discussione minatore
  • Data di inizio Data di inizio 28 Apr 2012
  • Tag Tag
    ajax mysql select dinamiche
Prec.
  • 1
  • 2
  • 3
Succ.
Primo Prec. 2 di 3 Succ. Ultimo

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 7 Mag 2012
  • #21
ciao non ho aspettato la tua risposta
non posso provare il form perchè non ho le tue tabelle, comunque metti la prima option senza il value
<option>Seleziona regione</option> e
<option>Seleziona provincia</option>
per la visualizzazione della ricerca prova in questa maniera (leggi i commenti)

PHP:
<?php
//dati di connessione
$wh="WHERE 1=1";
$regione="";
$provincia="";
$marca="";
if($_POST['regione'] ==	"" && $_POST['provincia'] == "" && $_POST['marca'] == ""){
	//non è stato selezionato nulla (puoi usare empety, ma a me piace di più così)
	//potresti mettere un ritorno automatico alla index es.
	echo "devi fare almeno una selezione";
	echo "<meta http-equiv='Refresh' content='3; URL=index.php'>";
}else{
	//è stata fatta almeno una selezione
	if($_POST['regione'] !=	""){
		//è stata selezionata la regione
		if($_POST['provincia'] !=""){
			//è stata selezionata anche la provincia
			$provincia=$_POST['provincia'];
			$wh .=" AND id_provincia = $provincia";
		}else{
			//è stata selezionata solo la regione
			$regione=$_POST['regione'];
			$wh .=" AND id_regione = $regione";
		}
	}
	if($_POST['marca'] != ""){
		//è stata selezionata la marca
		$marca=$_POST['marca'];
		$wh= " AND marca='$marca'";
	}
}
/*!!! qui verifico che l'utente non abbia selezionato solo la provincia
se l'utente ha selezionato SOLO la provincia la variabile $wh
è rimasta del valore iniziale == "WHERE 1=1" altrimenti può avere (in funzione delle selezioni) i seguenti valori (es.)
$wh="WHERE 1=1  AND id_provincia = 99" oppure
$wh="WHERE 1=1  AND id_regione = 11" oppure
$wh="WHERE 1=1  AND id_provincia = 99 AND marca ='pinco'" oppure
$wh="WHERE 1=1  AND id_regione = 11 AND marca ='pinco'" oppure
$wh="WHERE 1=1  AND marca ='pinco'"
*/
if($wh=="WHERE 1=1"){
	echo "errore nella selezione: selezionato solo la provincia";
	echo "<meta http-equiv='Refresh' content='3; URL=index.php'>";
}else{
	$query = mysql_query("select * from annunci $wh");
	if(mysql_num_rows($query)==0){
		echo "non trovato";
		echo "<meta http-equiv='Refresh' content='3; URL=index.php'>";
	}else{
		echo "<table border='1' width='200'>";
		while($ris = mysql_fetch_array($query)){
			echo "<tr> 
				    <td class='testo_3'>".$ris[id_annuncio]."</td> 
				  </tr>"; 
		}
		echo "</table>";
		//qui ritorno alla ricerca
	}
}
?>
provalo (verificando che abbia messo i nomi dei campi giusti), al massimo non funzia
 

minatore

Utente Attivo
25 Set 2007
410
0
0
  • 11 Mag 2012
  • #22
Ciao borgo, io non mi sono arreso, sto provando a capirlo, ma questo codice mi è nuovo
PHP:
$wh .=" AND id_provincia = $provincia";
me lo spiegheresti in palore chiare, anzi se cortesemente potresti dirmi a quale query tradizionale corrisponde
grazie da minatore
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 12 Mag 2012
  • #23
ciao
intanto, scusa, ho fatto un "piccolo" errore, me ne sono accorto ora
correggi
$wh= " AND marca='$marca'";
in
$wh.= " AND marca='$marca'";
cosa intendo con "questo codice mi è nuovo"

PHP:
$wh .=" AND id_provincia = $provincia";
non è una query ma l'istruzione è un concatenamento e parte della query finale
serve per costruire la query in funzione delle selezioni fatte.
 

minatore

Utente Attivo
25 Set 2007
410
0
0
  • 13 Mag 2012
  • #24

PHP:
<?php
$wh="WHERE 1=1"; 
$regione=""; 
$provincia=""; 
$marca=""; 
if($_POST['regione'] == "" && $_POST['provincia'] == "" && $_POST['costruttore'] == ""){ 
    //non è stato selezionato nulla (puoi usare empety, ma a me piace di più così) 
    //potresti mettere un ritorno automatico alla index es. 
    echo "devi fare almeno una selezione"; 
    echo "<meta http-equiv='Refresh' content='3; URL=index.php'>"; 
}else{ 
    //è stata fatta almeno una selezione 
    if($_POST['regione'] !=    ""){ 
        //è stata selezionata la regione 
        if($_POST['provincia'] !=""){ 
            //è stata selezionata anche la provincia 
            $provincia=$_POST['provincia']; 
            $wh .=" AND id_provincia = $provincia"; 
        }else{ 
            //è stata selezionata solo la regione 
            $regione=$_POST['regione']; 
            $wh .=" AND id_regione = $regione"; 
        } 
    } 
    if($_POST['costruttore'] != ""){ 
        //è stata selezionata la marca 
        $marca=$_POST['costruttore']; 
        $wh.= " AND marca='$marca'";
    } 
} 
/*!!! qui verifico che l'utente non abbia selezionato solo la provincia 
se l'utente ha selezionato SOLO la provincia la variabile $wh 
è rimasta del valore iniziale == "WHERE 1=1" altrimenti può avere (in funzione delle selezioni) i seguenti valori (es.) 
$wh="WHERE 1=1  AND id_provincia = 99" oppure 
$wh="WHERE 1=1  AND id_regione = 11" oppure 
$wh="WHERE 1=1  AND id_provincia = 99 AND marca ='pinco'" oppure 
$wh="WHERE 1=1  AND id_regione = 11 AND marca ='pinco'" oppure 
$wh="WHERE 1=1  AND marca ='pinco'" 
*/ 
if($wh=="WHERE 1=1"){ 
    echo "errore nella selezione: selezionato solo la provincia"; 
    echo "<meta http-equiv='Refresh' content='3; URL=index.php'>"; 
}else{ 
    $query = mysql_query("select * from annunci $wh"); 
    if(mysql_num_rows($query)==0){ 
        echo "non trovato"; 
        echo "<meta http-equiv='Refresh' content='3; URL=index.php'>"; 
    }else{ 
        echo "<table border='1' width='200'>"; 
        while($ris = mysql_fetch_array($query)){ 
            echo "<tr>  
                    <td class='testo_3'>".$ris['id_annuncio']."</td>  
                  </tr>";  
        } 
        echo "</table>"; 
        //qui ritorno alla ricerca 
    } 
} 
?>
Ciao, ho fatto il cambiamento, ma il risultato ahimè non cambia.
Il problema sta nel fatto che ha in memoria sempre la provincia, mi spiego
selezionando la regione ricevo id_regione 10, seleziono provincia e ricevo id_provincia 77, e fin qua tutto bene, quando seleziono una regione diversa ottendo id_regione 13, ma non i risultati perchè id_provincia rimane 77, e non trovando corrispondenza non succede nulla.
Spero di essere stato chiaro, altrimenti metto la pagina sul web.
Grazie da minatore

 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 14 Mag 2012
  • #25
ciao
ti dirò che questa non la capisco, tornando al form di interrogazione i valori dei post dovrebbero perdersi.
prova (anche se mi sembra un po' asurdo) a mettere
PHP:
<?php
//.........
}else{  
    unset($_POST);
	$query = mysql_query("select * from annunci $wh");  
    if(mysql_num_rows($query)==0){  
        echo "non trovato";  
//....
?>
 

minatore

Utente Attivo
25 Set 2007
410
0
0
  • 14 Mag 2012
  • #26

Ciao, spero di averlo inserito al posto giusto
PHP:
if($wh=="WHERE 1=1")
	{ 
    	echo "errore nella selezione: selezionato solo la provincia"; 
    	echo "<meta http-equiv='Refresh' content='3; URL=index.php'>"; 
	}
else
	{   
		unset($_POST); 
		$query = mysql_query("select * from annunci $wh");   
		if(mysql_num_rows($query)==0)
			{   
				echo "non trovato";
			} 
		else
			{ 
        		echo "<table border='1' width='200'>"; 
        		while($ris = mysql_fetch_array($query))
					{ 
            			echo "<tr>  
                    	<td class='testo_3'>".$ris['id_annuncio']."</td>  
                  		</tr>";  
        			} 
        		echo "</table>";
			} 
	}
Così selezionando la regione mi da i risultati giusti, ma non mi visualizza più le province collegate alla regione
Grazie
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 14 Mag 2012
  • #27
ciao
il posto è giusto, ma evidentemente non è il sistema.
non capisco perche ti rimanga in "canna" il post della provincia o che sparisca anche se lo ridai dal form
 

minatore

Utente Attivo
25 Set 2007
410
0
0
  • 14 Mag 2012
  • #28
borgo italia ha scritto:
ciao
il posto è giusto, ma evidentemente non è il sistema.
non capisco perche ti rimanga in "canna" il post della provincia o che sparisca anche se lo ridai dal form
Clicca per allargare...


Ciao, sto cercando di metterlo sul web, per farti vedere meglio il funzionamento.
Grazie
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 14 Mag 2012
  • #29
ciao
dimenticavo, puoi postare il form?
è tutto nella stessa pagina o diverse?
 

minatore

Utente Attivo
25 Set 2007
410
0
0
  • 14 Mag 2012
  • #30
borgo italia ha scritto:
ciao
dimenticavo, puoi postare il form?
è tutto nella stessa pagina o diverse?
Clicca per allargare...


Tutto è visibile in annunciitaliani.it/prova spero di non incorrere in nessun richiamo
la pagina ricerca è quella postatami in precedenza
PHP:
<?php 
$wh="WHERE 1=1";  
$regione="";  
$provincia="";  
$marca="";  
if($_POST['regione'] == "" && $_POST['provincia'] == "" && $_POST['costruttore'] == ""){  
    //non è stato selezionato nulla (puoi usare empety, ma a me piace di più così)  
    //potresti mettere un ritorno automatico alla index es.  
    echo "devi fare almeno una selezione";  
    echo "<meta http-equiv='Refresh' content='3; URL=index.php'>";  
}else{  
    //è stata fatta almeno una selezione  
    if($_POST['regione'] !=    ""){  
        //è stata selezionata la regione  
        if($_POST['provincia'] !=""){  
            //è stata selezionata anche la provincia  
            $provincia=$_POST['provincia'];  
            $wh .=" AND id_provincia = $provincia";  
        }else{  
            //è stata selezionata solo la regione  
            $regione=$_POST['regione'];  
            $wh .=" AND id_regione = $regione";  
        }  
    }  
    if($_POST['costruttore'] != ""){  
        //è stata selezionata la marca  
        $marca=$_POST['costruttore'];  
        $wh.= " AND marca='$marca'"; 
    }  
}  
/*!!! qui verifico che l'utente non abbia selezionato solo la provincia  
se l'utente ha selezionato SOLO la provincia la variabile $wh  
è rimasta del valore iniziale == "WHERE 1=1" altrimenti può avere (in funzione delle selezioni) i seguenti valori (es.)  
$wh="WHERE 1=1  AND id_provincia = 99" oppure  
$wh="WHERE 1=1  AND id_regione = 11" oppure  
$wh="WHERE 1=1  AND id_provincia = 99 AND marca ='pinco'" oppure  
$wh="WHERE 1=1  AND id_regione = 11 AND marca ='pinco'" oppure  
$wh="WHERE 1=1  AND marca ='pinco'"  
*/  
if($wh=="WHERE 1=1"){  
    echo "errore nella selezione: selezionato solo la provincia";  
    echo "<meta http-equiv='Refresh' content='3; URL=index.php'>";  
}else{  
    $query = mysql_query("select * from annunci $wh");  
    if(mysql_num_rows($query)==0){  
        echo "non trovato";  
        echo "<meta http-equiv='Refresh' content='3; URL=index.php'>";  
    }else{  
        echo "<table border='1' width='200'>";  
        while($ris = mysql_fetch_array($query)){  
            echo "<tr>   
                    <td class='testo_3'>".$ris['id_annuncio']."</td>   
                  </tr>";   
        }  
        echo "</table>";  
        //qui ritorno alla ricerca  
    }  
}  
?>
la index.php
PHP:
require '../connessione/Config.php';
require '../connessione/Connect.php';
echo"
<table cellpadding='0' cellspacing='0' border='0' width=''height='180'>
	<tr>
    	<td valign='top' width='270'>
			<table cellpadding='0' cellspacing='0' border='0' width='265' height='170'>
				<tr>
					<td></td>
				</tr>
			</table>
		</td>
		<td valign='top'>
				
			<table background='images/barra_navigazione.png' cellpadding='0' cellspacing='0' border='0' width='720' height='45'>
				<tr>
					<td width='10'><td>
					<td align='left' class='nav' width='85'><a href='index.php?jsx=annunci'>HOME</a></td>
				</tr>
			</table>
		</td>
    </tr>
</table>";
echo"
<table cellpadding='0' cellspacing='0' border='0' width='990'>
	<tr>
    	<td valign='top'>";
			if(isset($_GET['jsx']))
				{
					$pagina = $_GET['jsx']. '.php';
					if (file_exists($pagina))
						{ 
							include($pagina);										
						}
					else							
						{
							include('annunci.php');
						}
				}
			else
				{
					include('annunci.php');
				}
			
			//ob_end_flush(); 
		echo"	
		</td>
		<td valign='top'>";
			$id_regione="";
			
			if(isset($_POST['regione']))
				{
					$id_regione=$_POST['regione'];
					//$id_provincia = "";
				}
			if(isset($_POST['provincia']))
				{
					$id_provincia=$_POST['provincia'];
					//$id_provincia = 0;
				}
			if(isset($_POST['costruttore']))
			$id_marca=$_POST['costruttore'];
			//$id_provincia = 0;

			echo"
			<form action='index.php?jsx=ricerca' name='search' method='POST'>
			<table cellpadding='0' cellspacing='0' width='370' height='361' border='0'>
				<tr>
					<td valign='top' align='left'>
						<table cellpadding='0' cellspacing='0' width='365' border='0'>
							<tr>
								<td width='5' height='45'></td>
								<td></td>
							</tr>
							<tr>
								<td height='30'>
								<select onchange='document.search.submit()' name='regione' class='elenco_2'>
									<option value=''>Seleziona regione</option>";
									$regione=mysql_query("Select * From regioni ORDER BY descr_regione")
									or die("errore nella query_regioni;".mysql_error());
									for($a = 0; $a < mysql_num_rows($regione);$a++)
										{
											$a_elenco_regione=mysql_fetch_assoc($regione);
											echo"
												<option value='".intval($a_elenco_regione['id_regione'])."'";
												if($id_regione==$a_elenco_regione['id_regione'])
													{
														echo"selected";
													}
												echo">";
												echo"$a_elenco_regione[descr_regione]";
												echo"</option>";
										}
								echo"
								</select>
								</td>
							</tr>
							<tr>
								<td height='30'>
								<select onchange='document.search.submit()' name='provincia' class='elenco_2'>
									<option value=''>Seleziona provincia</option>";
										if(isset($id_regione))
											{
												$sql_provincia="SELECT * FROM province WHERE id_regione='$id_regione'";
												$query_provincia=@mysql_query($sql_provincia) or die (mysql_error());
												while ($rigaP=mysql_fetch_array($query_provincia))
													{
														$provincia=$rigaP['descr_provincia'];
														$idProvincia=$rigaP['id_provincia'];
														echo "<option value='$idProvincia'";
														if ($id_provincia==$idProvincia) {echo " selected";}
														echo ">".$provincia."</option>";
													}
											}
								echo"	
								</select>
								</td>
							</tr>
							<tr>
								<td height='30'>";
									if(isset($_POST['costruttore']))
										{
											$query = mysql_query("select * from marche where id_marca = '" . $_POST['costruttore'] . "'");
											$risultato = mysql_fetch_assoc($query);
											$num_marca = $risultato['id_marca'];
											$nom_marca = $risultato['descr_marca'];	
										}
									if(!isset($num_marca))
										{
											$num_marca = "";
											$nom_marca = "Seleziona marca auto";
										}
									$query_marca = mysql_query("SELECT * FROM marche")
									or die("errore nella query marca;".mysql_error());
									echo"
									<select onchange='document.search.submit()' name='costruttore' class = 'elenco_2'>
										<option value='$num_marca'>$nom_marca</option>";
										while($a_elenco = mysql_fetch_object($query_marca))
											{
												echo"
													<option value='".intval($a_elenco->id_marca)."'>
													".$a_elenco->descr_marca."
													</option>";
											}
								
									
								echo"
								</select>
								</td>
							</tr>
							<tr>
								<td height='17' class='testo_4'>Modello</td>
							</tr>
							<tr>
								<td><input type='text' name='modello' class='text_7'></td>
							</tr>
							<tr>
								<td height='70'>
									<input type='image' name='salva' value='salva_an' img src='images/avvia_ricerca.png' border='0' />
								</td>
							</tr>
						</table>
					</td>
				</tr>
			</table>
			</form>
		</td>
    </tr>
</table>";
?>
Non guardare l'html perchè ho cercato di inserire solo il necessario
Ciao
 

minatore

Utente Attivo
25 Set 2007
410
0
0
  • 14 Mag 2012
  • #31

Scusami ho dimenticato di dirti che le regioni interessate sono
Campania, province avellino, benevento, caserta
Emilia Romagna, province ravenna
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 14 Mag 2012
  • #32
ciao
ho provato

www.annunciitaliani.it/prova
digitando prima solo campania
a sx compare una tabella con i numeri 40 42 44
poi campania e avellino
solo il numero 40
riprovato
campania e benevento
solo il numero 42
con solo emilia romagna
numero 46
con emilia romagna e ravenna 46
quindi "sembrerebbe" se non ho capito male funziasse.

solo se metti anche la marca risulta:


Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in D:\Inetpub\webs\annunciitalianiit\prova\ricerca.php on line 45non trovato
Clicca per allargare...
 

minatore

Utente Attivo
25 Set 2007
410
0
0
  • 14 Mag 2012
  • #33

Ciao, se noti, quando selezioni campania e poi una sua provincia, va bene, poi seleziona emilia ti dovrebbe dare 46, invece rimane ad dato precedente, se selezioni ravenna ti da 46, infatti l'intoppo te lo da a provincia selezionata, se tu volessi di nuovo selezionare campania, dopo aver selezionato emilia e ravena, non ottieni i risultati previsti
Ciao
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 14 Mag 2012
  • #34
ciao
ho visto.
però penso che l'errore sia nel form in particolare nelle select.
cioè se metti regione è provincia hai un "se cambi submit" se dopo metti solo regione non hai il submit, infatti il tutto cambia solo se premi sul pulsante (?) sotto di tutto (lo vedo con la classica X di immagine mancante)
cioè in pratica, non è che non ottieni il risultato previsto, ma non essndoci nel secondo casi il submit non si aggiorna.
forse ti conviene rivedere il form.
cosa usi? ajax o js o jquery per l'autorimpiemento della seconda select?
se è così ti conviene postare nell'apposita sezione (io non sono molto esperto in js e similaria)
 

minatore

Utente Attivo
25 Set 2007
410
0
0
  • 14 Mag 2012
  • #35
borgo italia ha scritto:
ciao
ho visto.
però penso che l'errore sia nel form in particolare nelle select.
cioè se metti regione è provincia hai un "se cambi submit" se dopo metti solo regione non hai il submit, infatti il tutto cambia solo se premi sul pulsante (?) sotto di tutto (lo vedo con la classica X di immagine mancante)
cioè in pratica, non è che non ottieni il risultato previsto, ma non essndoci nel secondo casi il submit non si aggiorna.
forse ti conviene rivedere il form.
cosa usi? ajax o js o jquery per l'autorimpiemento della seconda select?
se è così ti conviene postare nell'apposita sezione (io non sono molto esperto in js e similaria)
Clicca per allargare...

Ciao borgo, ok mo vedo cosa si può fare, non so se hai notato nel form se iinserisco
PHP:
$id_provincia = 0;
funziona bene, però nella select della provincia mi appare
seleziona provincia
Clicca per allargare...
grazie da minatore
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 15 Mag 2012
  • #36
ciao
prova a fare queste due modifiche
se non funziano queste non so più che pesci pigliare

PHP:
<?php
//...
 if(isset($_POST['provincia'])) 
                { 
                    $id_provincia=$_POST['provincia']; 
                } else {
					$id_provincia="";
				}
//...
?>
e nella select delle provincie metti un option a value vuoto
PHP:
<?php
//.....
$sql_provincia="SELECT * FROM province WHERE id_regione='$id_regione'"; 
	$query_provincia=@mysql_query($sql_provincia) or die (mysql_error()); 
	echo "<option value=''> -seleziona provincia- </option>";//questo qui
	while ($rigaP=mysql_fetch_array($query_provincia)) 
	{ 
		$provincia=$rigaP['descr_provincia']; 
//....
?>
p.s.
sto andando più a intuito che ragionamento
 

minatore

Utente Attivo
25 Set 2007
410
0
0
  • 27 Mag 2012
  • #37

Ciao ragazzi, è passato un po di tempo, ma il problema è rimasto.
Sono sicuro che l'intoppo non è l'evento
onchange
Clicca per allargare...
di jscript
ma bensi il codice di php, vi posto la pagina
PHP:
if(isset($_POST['regione']))
			{
				$id_regione = $_POST['regione'];
			}
		else
			{
				$id_regione = "";
			}
if(isset($_POST['provincia']))
			{
				$id_provincia = $_POST['provincia'];
				//$id_provincia = 0;
			}
		else
			{
				$id_provincia = "";
			}
<form action='index.php?jsx=ricerca' name='search' method='POST'>
<select onchange='document.search.submit()' name='regione' class='elenco_2'>
						<option value=''>Seleziona regione</option>";
						$query_regione = mysql_query("SELECT * FROM regioni ORDER BY descr_regione")
						or die("errore nella query_regione;".mysql_error());
						for($a = 0; $a < mysql_num_rows($query_regione); $a++)
							{
								$a_elenco_regione = mysql_fetch_assoc($query_regione);
								echo"
								<option value='".intval($a_elenco_regione['id_regione'])."'"; 
								if($id_regione == $a_elenco_regione['id_regione']) 
									{ 
										echo"selected"; 
									} 
								echo">"; 
								echo"$a_elenco_regione[descr_regione]"; 
								echo"</option>"; 
							}
						echo"
						</select>

<select name='provincia' class='elenco_2'>
						<option value=''>Seleziona provincia</option>";
						$query_provincia = mysql_query("SELECT * FROM province 
						WHERE id_regione = '$id_regione'")
						or die("errore nella query_provincia;".mysql_error());
						if(isset($id_regione))
							{
								for($b = 0; $b < mysql_num_rows($query_provincia); $b++)
									{
										$a_elenco_provincia = mysql_fetch_assoc($query_provincia);
										echo"
										<option value='".intval($a_elenco_provincia['id_provincia'])."'"; 
										if($id_provincia == $a_elenco_provincia['id_provincia']) 
											{ 
												echo"selected"; 
											} 
										echo">"; 
										echo"$a_elenco_provincia[descr_provincia]"; 
										echo"</option>"; 
									}
							}
Con questo codice quando scelgo la regione, ho dei risultati e contemporaneamente carico la select delle province.
Poi selezionando una provincia ottengo i risultati per provincia scelta, inoltre nella select provincia rimane impressa la provincia stessa, e va bene così.
Quando scelgo per la seconda volta una regione, la select delle province si ricarica, ma in memoria rimane l'id_provincia della precedente.
In questi giorni li ho provati quasi tutti, ma niente da fare, e nemmeno voglio pensare che non sia possibile, in quanto su altri siti questa cosa esiste.
Per capire meglio di cosa parlo potete visionarlo a xxx.annunciitaliani.it/prova
Scegliete la regione campania, provincia avellino, poi andate su emilia romagna e vedete che non succede niente, e sulla sx noterete ancora l'id della provincia della campania.
Grazie a tutti
 
Ultima modifica: 27 Mag 2012

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 31 Mag 2012
  • #38
ciao
non so se hai messo tutto il codice nel precedente post, ma visto così mi sembra:
ti sei dimenticato una chiusura e una riapertura di php
ti sei dimenticato di chidere il form </form>
eventualmente riposta il codice corretto.
dimenticavo:
da dove provengono i $_POST iniziale e a cosa ti servono?
 
Ultima modifica: 31 Mag 2012

minatore

Utente Attivo
25 Set 2007
410
0
0
  • 31 Mag 2012
  • #39

Ciao e grazie
Questa è la index.php
PHP:
<?php
if(isset($_POST['regione']))
			{
				$id_regione = $_POST['regione'];
			}
		else
			{
				$id_regione = "";
			}
		if(isset($_POST['provincia']))
			{
				$id_provincia = $_POST['provincia'];
			}
		else
			{
				$id_provincia = "";
			}
		if(isset($_POST['costruttore']))
			{
				$id_marca = $_POST['costruttore'];
			}
		else
			{
				$id_marca = "";
			}
echo"
		<form action='index.php?jsx=ricerca' name='search' method='POST'>
			<table background='images/back_ricerca.png' cellspacing='0' cellpadding='0' width='365' height='235' border='0'>
				<tr>
					<td valign='top' width='15' height='40'></td>
					<td></td>
				</tr>
				<tr>
					<td valign='top' width='15' height='25'></td>
					<td>
						<select onchange='document.search.submit()' name='regione' class='elenco_2'>
						<option value=''>Seleziona regione</option>";
						$query_regione = mysql_query("SELECT * FROM regioni ORDER BY descr_regione")
						or die("errore nella query_regione;".mysql_error());
						for($a = 0; $a < mysql_num_rows($query_regione); $a++)
							{
								$a_elenco_regione = mysql_fetch_assoc($query_regione);
								echo"
								<option value='".intval($a_elenco_regione['id_regione'])."'"; 
								if($id_regione == $a_elenco_regione['id_regione']) 
									{ 
										echo"selected"; 
									} 
								echo">"; 
								echo"$a_elenco_regione[descr_regione]"; 
								echo"</option>"; 
							}
						echo"
						</select>
					</td>
				</tr>
				<tr><td colspan='2' height='8'></td></tr>
				<tr>
					<td valign='top' width='15' height='25'></td>
					<td>
						<select name='provincia' class='elenco_2'>
						<option value=''>Seleziona provincia</option>";
						$query_provincia = mysql_query("SELECT * FROM province 
						WHERE id_regione = '$id_regione'")
						or die("errore nella query_provincia;".mysql_error());
						if(isset($id_regione))
							{
								for($b = 0; $b < mysql_num_rows($query_provincia); $b++)
									{
										$a_elenco_provincia = mysql_fetch_assoc($query_provincia);
										echo"
										<option value='".intval($a_elenco_provincia['id_provincia'])."'"; 
										if($id_provincia == $a_elenco_provincia['id_provincia']) 
											{ 
												echo"selected"; 
											} 
										echo">"; 
										echo"$a_elenco_provincia[descr_provincia]"; 
									}
							}
						echo"
						</select>
					</td>
				</tr>
				<tr><td colspan='2' height='8'></td></tr>
				<tr>
					<td valign='top' width='15' height='25'></td>
					<td>
						<select name='costruttore' class='elenco_2'>
						<option value=''>Seleziona marca auto</option>";
						$query_marca = mysql_query("SELECT * FROM marche ORDER BY descr_marca")
						or die("errore nella query_marca;".mysql_error());
						for($c = 0; $c < mysql_num_rows($query_marca); $c++)
							{
								$a_elenco_marca = mysql_fetch_assoc($query_marca);
								echo"
								<option value='".intval($a_elenco_marca['id_marca'])."'"; 
								if($id_marca == $a_elenco_marca['id_marca']) 
									{ 
										echo"selected"; 
									} 
								echo">"; 
								echo"$a_elenco_marca[descr_marca]"; 
								echo"</option>"; 
							}
						echo"
						</select>
					</td>
				</tr>
				<tr><td colspan='2' height='8'></td></tr>
				<tr>
					<td valign='top' width='7' height='25'></td>
					<td>
						<input type='text' name='modello' class='text_1'>
					</td>
				</tr>
				<tr>
					<td valign='top' width='7'></td>
					<td>
						<table cellspacing='0' cellpadding='0' width='320' bordercolor='#E11A49' border='0'>
							<tr>
								<td width='246' height='25'></td>
								<td>
									<input type='image' name='avvia' value='cerca' img src='images/avvia_ricerca.png' border='0' /></td>
							</tr>
						</table>
					</td>
				</tr>
			</table>
		</form>";
?>
questa invece è ricerca.php molto ridotta che elabora e mi da il risultato
PHP:
<?php
if(empty($_POST['regione']) and (empty($_POST['provincia'])) and (empty($_POST['costruttore'])) and (empty($_POST['modello'])))
	{
		echo"usa il modulo per effettuare a ricerca!";
	}
elseif($_POST['regione'])
	{
		if($_POST['provincia'])
			{
				$provincia = $_POST['provincia'];
				echo $provincia;
			}
		if(isset($_POST['costruttore']))
			{
				$marca = $_POST['costruttore'];
				echo $marca;
			}
		$regione = $_POST['regione'];
		echo"$regione<br>";
		$provincia = $_POST['provincia'];
		var_dump($provincia);
		//unset($provincia);
	}
?>
Come noterai alla fine c'è
PHP:
//unset($provincia);
così facendo pensavo di sistruggere la variabile $provincia ogni qualvolta che selezionavo una nuova regione
ma ho dovuto desistere
Ciao da minatore
 
Ultima modifica: 31 Mag 2012

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 1 Giu 2012
  • #40
ciao
secondo me conviene ricominciare.
cerco una soluzione (un po' di pazienza) e se ci riesco te la posto
 
Prec.
  • 1
  • 2
  • 3
Succ.
Primo Prec. 2 di 3 Succ. Ultimo
Devi accedere o registrarti per poter rispondere.

Discussioni simili

S
problema con recupero dati tabella mysql
  • smartwork
  • 12 Apr 2021
  • PHP
Risposte
2
Visite
1K
PHP 13 Apr 2021
PaoloG
P
D
Recupero dati da HDD esterno
  • Domenico2013
  • 13 Gen 2021
  • Hardware
Risposte
0
Visite
2K
Hardware 13 Gen 2021
Domenico2013
D
L
Recupero dati da SSD Windows 10 prof
  • Louiss97
  • 11 Mar 2020
  • Windows e Software
Risposte
3
Visite
2K
Windows e Software 24 Mag 2022
Louiss97
L
Recupero dati da una vecchia versione MySql [Risolto]
  • Sergio Unia
  • 24 Lug 2018
  • MySQL
Risposte
4
Visite
2K
MySQL 11 Ago 2018
Sergio Unia
L
Problema con recupero dati in PHP cURL e JAVA con server
  • larosa.cristian
  • 6 Apr 2017
  • PHP
Risposte
1
Visite
1K
PHP 6 Apr 2017
criric
S
[PHP] Recupero più dati da form realizzata ciclo FOR
  • solari77
  • 23 Ott 2016
  • PHP
Risposte
5
Visite
4K
PHP 24 Ott 2016
marino51
P
[PHP] Recupero dati da un array
  • piero60
  • 17 Ott 2016
  • PHP
Risposte
5
Visite
3K
PHP 20 Ott 2016
piero60
P
F
Recupero dati json
  • Fabio_97
  • 19 Lug 2016
  • Ajax
Risposte
2
Visite
3K
Ajax 28 Ott 2016
localhost.nicola
I
tabella con ciclo, recupero dati
  • irlash
  • 21 Dic 2015
  • PHP
Risposte
3
Visite
2K
PHP 22 Dic 2015
irlash
I
Problema recupero Dati da MYSQL
  • Emix
  • 4 Gen 2015
  • PHP
  • 2
Risposte
20
Visite
4K
PHP 1 Apr 2015
Emix
L
Recupero dati da tutte le tabelle nel db
  • luigi777
  • 10 Dic 2014
  • MySQL
Risposte
4
Visite
2K
MySQL 11 Dic 2014
luigi777
L
[PHP] Recupero dati da un WHILE !
  • Alessio Gebbia
  • 29 Nov 2014
  • PHP
Risposte
3
Visite
2K
PHP 1 Dic 2014
Alessio Gebbia
M
recupero dati...
  • Marco196943
  • 30 Set 2014
  • PHP
Risposte
1
Visite
1K
PHP 1 Ott 2014
Marco196943
M
P
Recupero dati per select form
  • Paperino78
  • 31 Lug 2014
  • PHP
Risposte
9
Visite
2K
PHP 9 Ago 2014
Paperino78
P
L
Recupero dati form in tabella e invio con ajax. Problemino
  • lorenzo84
  • 10 Apr 2014
  • jQuery
Risposte
1
Visite
1K
jQuery 10 Apr 2014
lorenzo84
L
HDD 2.5'' caduto a terra: possibile recupero dei dati al suo interno
  • felino
  • 26 Feb 2014
  • Hardware
Risposte
8
Visite
2K
Hardware 5 Mar 2014
felino
Recupero dati da una tabella e spostarli in un altra
  • Emix
  • 26 Ott 2013
  • PHP
Risposte
11
Visite
2K
PHP 12 Nov 2013
Longo8
C
Recupero dati da pagina esterna
  • colomber
  • 11 Feb 2013
  • PHP
Risposte
5
Visite
2K
PHP 12 Feb 2013
colomber
C
M
recupero dati da db
  • Marco196943
  • 24 Gen 2013
  • PHP
Risposte
6
Visite
1K
PHP 25 Gen 2013
alessandro1997
I
Recupero numero file uploadati php
  • icex
  • 18 Set 2012
  • PHP
Risposte
1
Visite
1K
PHP 19 Set 2012
icex
I
Condividi:
Facebook X (Twitter) LinkedIn WhatsApp e-mail Condividi Link
  • Home
  • Forum
  • Fare Web
  • PHP
  • Italiano
  • Termini e condizioni d'uso del sito
  • Policy Privacy
  • Aiuto
  • Home
Community platform by XenForo® © 2010-2024 XenForo Ltd. | Traduzione a cura di XenForo Italia
Menu
Accedi

Registrati

  • Home
  • Forum
    • Nuovi Messaggi
    • Cerca...
  • Novità
    • Featured content
    • Nuovi Messaggi
    • Ultime Attività
X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?

X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?