Problema con le pagine

minatore

Utente Attivo
25 Set 2007
410
0
0

Ciao a tutti, ho un problema nel visualizzare le pagine successive alla 1.
Vi spiego, ho una combo dove scelgo le regioni, selezionandone una mi compaiono tutti i risultati, e la scritta pagina avanti, quando clicco su di essa, visto che la pagina si ricarica perdo il dato scelto nella combo ricevendo il messaggio
selezionare un dato nei criteri di scelta
, più che giusto in quanto per lui si è resettato tutto non avendo piu la regione scelta.
Vi posto la pagina di ricerca
PHP:
//Se non è settato nulla
if($_POST['regione'] == "" && $_POST['provincia'] == "" && $_POST['costruttore'] == "" && $_POST['modello'] == "")
	{
		echo"
			<table cellspacing='0' cellpadding='0' border='0' width='470'>
				<tr>
					<td width='10'></td>
					<td><img src='images/alert.png'></td>
					<td class='t_1'>
						<b><u>La sua ricerca non ha prodotti risultati!</u></b>
					</td>
				</tr>
			</table>";
		echo "<meta http-equiv='Refresh' content='5; URL=index.php'>";
	}
//Se ad essere settata è solo la regione
		else
			{	
				$regione = trim($_POST['regione']);
				if(get_magic_quotes_gpc())
					{
						$regione = stripslashes($regione);
					}
				$regione = htmlspecialchars($regione);
				$regione = mysql_real_escape_string($regione);
//Imposto il numero di record che visualizzo per pagina
				$x_pag = 3;
				//Recupero il numero di pagina corrente e controllo se $pag è valorizzata
				if(!isset($_GET['pag']))
					{
						$pag = '1';
					}
				else
					{
						$pag = $_GET['pag'];
					}
				
				//Conta elementi in una tabella (metodo 3)
				$query_conta = mysql_query("select COUNT(id_annuncio) from annunci where id_regione = '$regione'");
				$all_rows = mysql_result($query_conta, 0);
				//Totale pagine
				$all_pages = ceil($all_rows / $x_pag);
				//Calcolo da quale record iniziare
				$first = ($pag - 1) * $x_pag;
				
				$query_8 = mysql_query("select * from annunci where id_regione = '$regione' LIMIT $first, $x_pag");
				$nr = mysql_num_rows($query_8);
				if($nr != 0)
					{
						for($i = 0; $i < $nr; $i++)
							{
								$ris_query_8 = mysql_fetch_assoc($query_8);
								$data_8 = date("d/m/Y H:i", $ris_query_8['data_annuncio']);
								echo"
								<table background='images/annuncio.png' cellspacing='0' cellpadding='0' border='0' width='483' height='117'>
									<tr>
										<td width='17'></td>";
										
										if(file_exists("public/piccola/auto/" . $ris_query_8['id_annuncio'] . " (" . "1" . ").jpg"))
											{
												echo"
												<td width='130'>
													<img src='public/piccola/auto/$ris_query_8[id_annuncio] (1).jpg' width='120' height='90' border='0'>
												</td>";
											}
										else
											{
												echo"
												<td>
													<img src='public/piccola/auto/no_foto.png' width='120' height='90' border='0'>
												</td>";
											}
										
										echo"
										<td>
											<table cellspacing='0' cellpadding='0' border='0' width='305'>
												<tr>
													<td height='20' class='t_1'>$ris_query_8[id_annuncio]</td>
												</tr>
												<tr>
													<td height='20' class='t_2'><b>$ris_query_8[modello]</b></td>
												</tr>
												<tr>
													<td height='20' class='t_1'><b><u>&euro; $ris_query_8[prezzo],00</u></b></td>
												</tr>
												<tr>
													<td height='20' class='t_1'>$ris_query_8[id_regione] - <b>Azienda</b></td>
												</tr>
												<tr>
													<td height='20' class='t_1'>$data_8</td>
												</tr>
											</table>
										</td>
										<td width='10'></td>
									</tr>
								</table>";
							}
					}
				else
					{
						echo"nessun record trovato";
					}
				//Se le pagine totali sono più di 1
				//Stampo i link per andare avanti e indietro
				if($all_pages > 1)
					{
						if($pag > 1)
							{
								//da vedere il percorso non va bene, anche il successivo
								echo"<a href=\"index.php?jsx=ricerca&id_regione=$regione" . "?pag=" . ($pag - 1) . "\">";
								echo"Pagina indietro</a>$nbsp";
							}
						if($all_pages > $pag)
							{
								echo"<a href=\"index.php?jsx=ricerca&id_regione=$regione" . "?pag=" . ($pag + 1) . "\">";
								echo"Pagina avanti</a>&nbsp";
							}
					}
			}
	}
Per provare cosa succede è possibile farlo su xxx.annunciitaliani.it/new/
Grazie da minatore
 

f107

Utente Attivo
7 Ago 2012
206
6
18
Roma
Se usi le sessioni per mantenere il risultato???
Oppure quando preme pagina successiva mandi in get la selezione...
 

minatore

Utente Attivo
25 Set 2007
410
0
0

Ciao e grazie, per la verità avevo pensato alle sessioni, però vorrei fare in modo che al click della pagina successiva, mi mantenga anche i dati scelti nella combo.
Hai già riscontrato questo problema
Ciao
 

f107

Utente Attivo
7 Ago 2012
206
6
18
Roma
Se non ho capito male le scelte sono per :

regione, provincia, costruttore e modello giusto?

Quando invia il form salva tutto in delle sessioni..

Per esempio
PHP:
$_SESSION['regione'] = $_POST['regione'];
...
Logicamente prima va il session_start();

Oppure quando clicca pagina successiva manda i dati in get... cosi te li ritrovi.

Esempio:
PHP:
echo"<a href=\"index.php?jsx=ricerca&id_regione=$regione" . "?pag=" . ($pag + 1) . "\">"; 
                                echo"Pagina avanti</a>&nbsp";

qui l'hai già fatto per l'id della regione, se aggiungi gli altri parametri nello stesso modo il gioco è fatto
 

minatore

Utente Attivo
25 Set 2007
410
0
0
Se non ho capito male le scelte sono per :

regione, provincia, costruttore e modello giusto?

Quando invia il form salva tutto in delle sessioni..

Per esempio
PHP:
$_SESSION['regione'] = $_POST['regione'];
...
Logicamente prima va il session_start();

Oppure quando clicca pagina successiva manda i dati in get... cosi te li ritrovi.

Esempio:
PHP:
echo"<a href=\"index.php?jsx=ricerca&id_regione=$regione" . "?pag=" . ($pag + 1) . "\">"; 
                                echo"Pagina avanti</a>&nbsp";

qui l'hai già fatto per l'id della regione, se aggiungi gli altri parametri nello stesso modo il gioco è fatto

Ciao, mo ci provo, vediamo se riesco ad uscirne. Grazie
 

minatore

Utente Attivo
25 Set 2007
410
0
0

Ciao ragazzi, molto probabilmente oggi nessuno mi risponderà, ma scrivo solo per aggiornarvi sul problema, sembra che un piccolo passettino sia stato fatto.
Ho ridotto il codice cancellando tutto e facendolo solo per regione, tanto fattone uno fatti gli altri.
PHP:
<?php
session_start();
if(isset($_POST['regione']))
	{
		$_SESSION['re'] = $_POST['regione'];	
	}
$sessione = $_SESSION['re'];			
if(!$sessione)
	{
		echo"
			<table cellspacing='0' cellpadding='0' border='0' width='470'>
				<tr>
					<td width='10'></td>
					<td><img src='images/alert.png'></td>
					<td class='t_1'>
						<b><u>La sua ricerca non ha prodotti risultati!</u></b>
					</td>
				</tr>
			</table>";
		echo "<meta http-equiv='Refresh' content='5; URL=index.php'>";
	}
elseif($sessione != "")
	{
		if(!isset($_GET['numero_pagina']))
			{
				$numero_pagina = '1';
			}
		else
			{
				$numero_pagina = $_GET['numero_pagina'];
			}
		$limite = ($numero_pagina - 1)*4;
		$query_conta = mysql_query("select COUNT(id_annuncio) from annunci where id_regione = '$sessione'");
		$all_rows = mysql_result($query_conta, 0);
		$query_8 = mysql_query("select * from annunci where id_regione = '$sessione' LIMIT $limite,4");
		$nr = mysql_num_rows($query_8);
		if($nr != 0)
			{
				for($i = 0; $i < $nr; $i++)
					{
						$ris_query_8 = mysql_fetch_assoc($query_8);
						$data_8 = date("d/m/Y H:i", $ris_query_8['data_annuncio']);
						echo"
							<table background='images/annuncio.png' cellspacing='0' cellpadding='0' border='0' width='483' height='117'>
								<tr>
									<td width='17'></td>";
									
									if(file_exists("public/piccola/auto/" . $ris_query_8['id_annuncio'] . " (" . "1" . ").jpg"))
										{
											echo"
											<td width='130'>
												<img src='public/piccola/auto/$ris_query_8[id_annuncio] (1).jpg' width='120' height='90' border='0'>
											</td>";
										}
									else
										{
											echo"
											<td>
												<img src='public/piccola/auto/no_foto.png' width='120' height='90' border='0'>
											</td>";
										}
									
									echo"
									<td>
										<table cellspacing='0' cellpadding='0' border='0' width='305'>
											<tr>
												<td height='20' class='t_1'>$ris_query_8[id_annuncio]</td>
											</tr>
											<tr>
												<td height='20' class='t_2'><b>$ris_query_8[modello]</b></td>
											</tr>
											<tr>
												<td height='20' class='t_1'><b><u>&euro; $ris_query_8[prezzo],00</u></b></td>
											</tr>
											<tr>
												<td height='20' class='t_1'>$ris_query_8[id_regione] - <b>Azienda</b></td>
											</tr>
											<tr>
												<td height='20' class='t_1'>$data_8</td>
											</tr>
										</table>
									</td>
									<td width='10'></td>
								</tr>
							</table>";
						}
				}
			else
				{
					echo"nessun record trovato";
				}
			$pagine=ceil($all_rows[0]/4);
			echo"
				<table border='0' cellpadding='0' cellspacing='0' height='40'>";
					echo"
						<tr>";
							for($b = 1; $b <= $pagine; $b++)
								{
									echo"
										<td class='testo_notizie'>
											<table bgcolor='#000000' border='0' cellspacing='0' cellpadding='0' width='32' height='32'>
												<tr>
													<td width='12'></td>
													<td>								
														<a href='index.php?jsx=ricerca&id_regione=$sessione&numero_pagina=$b'>$b</a>&nbsp;
													</td>
												</tr>
											</table>
										</td>";
								}
					echo"	
						</tr>";
			echo"
				</table>";
	}
?>
Facendo così, riesco ad avere il risultato delle pagine successive, ma non ho risolto il problema di far rimanere in quella benedetta combo la regione scelta.
Grazie da minatore, un saluto a f107 e buone feste a tutti gli amici del forum
 

minatore

Utente Attivo
25 Set 2007
410
0
0

Ciao, non potendo modificare il post la index.php la inserisco qua
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 = "";
						}
					if(!isset($n_regione))
						{
							session_register("n_regione");
						}
					if(isset($_GET['numero_pagina']))
						{
							$id_regione = 15;
						}
					else
						{
							$id_regione = "";
						}
if(isset($_GET['numero_pagina']))
{
$id_regione = 15;
}
else
{
$id_regione = "";
}
Questa parte è stata aggiunta adesso, la prima volta che scelgo la regione, ottengo i risultati, ma nella combo appare seleziona regione, quando invece scelgo la pagina la combo ha dentro la regione giusta, proprio perchè viene settata, come posso risolverlo.
Ciao a tutti
 

minatore

Utente Attivo
25 Set 2007
410
0
0

Ciao ragazzi per adesso ho risolto così
PHP:
if(isset($_POST['regione']))
						{
							$id_regione = $_POST['regione'];
						}
					elseif(isset($_GET['numero_pagina']))
						{
							$id_regione = $_SESSION['re'];
						}
					else
						{
							$id_regione = "";
						}
Penso che sia uno dei tanti modi. Nel caso ce ne fosse uno piu professionale lo accetto volentieri
Ciao
 
Discussioni simili
Autore Titolo Forum Risposte Data
F Problema con pagine login in PHP PHP 2
K Problema ancore in pagine diverse con menu fixed HTML e CSS 6
Marco_88 Problema con pagine di destinazione Google Analytics 1
R problema con pagine php apache su centos 5.3 Apache 1
N ciao a tutti ho un problema con la visualizzazione delle pagine in php PHP 1
A Problema con aggiornamento pagine HTML e CSS 0
L problema con get per includere pagine dal database PHP 4
S Problema con link pagine PHP 6
R Problema visualizzazione alcune pagine con ie8 et similia HTML e CSS 6
D Problema inclusioni pagine con immagini PHP 1
A Problema con risoluzione pagine mulimediali Webdesign e Grafica 0
cosov Problema con passaggio dati tra pagine asp Classic ASP 5
O problema con dvr dahua xvr5116 IP Cam e Videosorveglianza 0
G Problema con Xampp Web Server 1
andrea barletta Problema con miniature comandi Photoshop 0
I problema con alice Posta Elettronica 0
N Problema con position absolute e overflow HTML e CSS 4
L Problema con inner join PHP 11
K [php] Problema con inner join PHP 4
K [PHP] Problema con variabili concatenate. PHP 1
O problema con query PHP 4
I problema con 2 account Posta Elettronica 1
L problema collegamento file css con html HTML e CSS 1
E Problema accesso a file con app sviluppata con MIT APP INVENTOR 2 Sviluppo app per Android 0
M Problema con Try Catch PHP 0
Sergio Unia Problema con gli eventi del mouse su una data table: Javascript 2
T PROBLEMA CON SESSIONI PHP 3
T ALTRO PROBLEMA CON ARRAY PHP PHP 1
R problema con else PHP 0
T PROBLEMA CON ARRAY PHP 8
L problema con query select PHP 2
R Problema query con ricerca id numerico PHP 2
F Problema con risposta PHP 0
S problema con recupero dati tabella mysql PHP 2
Z Problema con il mio tp-l i nk Reti LAN e Wireless 1
L Problema RAM con Tomcat 8 Apache 0
napuleone problema con sort e asort PHP 4
Z Problema con INT MySQL PHP 1
Z Problema database MySQL con XAMPP PHP 0
M Problema con controllo form in real time jQuery 6
Z Problema di sincronizzazione PAYPAL con PHP PHP 1
G Problema con Get page PHP 4
P Problema con require once PHP 6
P Problema con i package Java 1
A Problema login con Safari PHP 14
F INDESIGN: problema esportazione esecutivo per la stampa con foto B/N Webdesign e Grafica 0
S problema con css bootstrap3 HTML e CSS 4
M .load() problema con caricamenti dinamici di js Javascript 0
G Problema con eccessiva nitidezza apertura Camera Raw Photoshop 0
G Problema ------- con Query PHP 1

Discussioni simili