bonjour à tous,

je voudrais faire un formulaire ou plus exactement un filtre de recherche.
J'ai une grosse base qui contient l'historique de transferts de fichiers. Je veux pouvoir filtrer (émetteur / destinataire) et afficher les résultats sur plusieurs pages.

Je bloque sur l'affichage des pages suivantes (sup à 1). Quand je clique sur le lien "2" (numéro de la page) ca me ré-initialise le formulaire ... du coup, je perds la valeur de mes variables (pour ma requete) alors que j'ai mis des SELECTED !!! Comprends pas ...

voici le code, merci de votre lecture.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<?
// ------------------------------------------------------------------------------- 
// -------------------------------------------------------------------------------
?>
<html>
<head>
<title> Histo des Transferts </title>
<link rel="stylesheet" media="screen" type="text/css" title="mon_funky_style" href="mon_style.css" />
</head>
<body>
<div id="en_tete">  
<h1><a href="test_code4.php" style="text-decoration:none;" >Historique des Transferts </a></h1>
</div>
 
 
<?php
// connexion a la base fm3 !!!
mysql_connect("10.xx.xx.xx", "fmhisto", "xxxxxxxx");
mysql_select_db("fm3");
?>
 
 
<div id="formulaire">
	<div id="emetteur">
		<?php
		// creation de la liste deroulante pour l'emetteur
		$sql3='SELECT distinct nom_partenaire FROM PARTENAIRES order by nom_partenaire asc';
		$result3=mysql_query($sql3);
		echo "<form action='test_code4.php' method='POST'>
		<table><tr><td>
		<select name='champ_emetteur' id='champ_emetteur'>";
		if($row3[nom_partenaire]=$_POST['champ_emetteur'])
		{
			$selected=$row3[nom_partenaire];
		}
		else
		{
			$selected="Emetteur" ;
		}
		echo "<option value='".$row3[nom_partenaire]."' $selected>$selected</option>";
		// affichage de la liste 
		while ($row3=mysql_fetch_array($result3))
		{
			echo"<option>$row3[nom_partenaire]</option>";
		}
		echo"</select></tr></td>";
		?>
		</table>
	</div>
 
 
	<div id="destinataire">
		<?php
		// creation de la liste deroulante pour le destinataire
		$sql2='SELECT distinct nom_partenaire FROM PARTENAIRES order by nom_partenaire asc';
		$result2=mysql_query($sql2);
		echo "<form action='test_code4.php' method='POST'>
		<table><tr><td>
		<select name='champ_destinataire' id='champ_destinataire'>";
		if($row2[nom_partenaire]=$_POST['champ_destinataire'])
		{
			$selected=$row2[nom_partenaire];
		}
		else
		{
			$selected="Destinataire" ;
		}
		echo "<option value='".$row2[nom_partenaire]."' $selected>$selected</option>";
		// affichage de la liste 
		while ($row2=mysql_fetch_array($result2))
		{
			echo"<option>$row2[nom_partenaire]</option>";
		}
		echo"</select></tr></td>";
		?>
		</table>
	</div>
</div>
 
<div id="valid_reset">
<form method="POST"> <input value="valider" type="submit">
</form>
</div>
 
 
<div id="resultat">
<?
if (($_POST['champ_emetteur'])=="TOUS")
{
	$emetteur="%";
}
else
{
	$emetteur=$_POST['champ_emetteur'];
}
if (($_POST['champ_destinataire'])=="TOUS")
{
	$destinataire="%";
}
else
{
	$destinataire=$_POST['champ_destinataire'];
}
 
echo "emetteur :" .$emetteur;
echo "destinataire :" .$destinataire;
//--------------------------------------------------------------------
$messagesParPage=100; //100 lignes par page.
 
// Nombre Total (sans limite) de réponse à la requete
$retour_total='select date, E.nom_partenaire as emetteur, D.nom_partenaire as destinataire, nom_fic from HISTO, PARTENAIRES as D, PARTENAIRES as E where id_emetteur=E.id_partenaire AND id_destinataire=D.id_partenaire AND D.nom_partenaire like "'.$destinataire.'" AND E.nom_partenaire like "'.$emetteur.'" order by date desc ';
$retour_count=mysql_query($retour_total);
$NumResult=mysql_num_rows($retour_count);
echo "nbre total de reponses :" .$NumResult;
 
//Nombre de pages.
$nombreDePages=ceil($NumResult/$messagesParPage);
 
 
	if(isset($_GET['page'])) // Si la variable $_GET['page'] existe...
	{
		echo "get :" .$_GET['page'];
		$pageActuelle=intval($_GET['page']);
		echo "page actuelle :" .$pageActuelle;
		if($pageActuelle>$nombreDePages)
		{
			$pageActuelle=$nombreDePages;
		}
	}
	else 
	{
		echo "get :" .$_GET['page'];
		$pageActuelle=1;  
	}
 
	$premiereEntree=($pageActuelle-1)*$messagesParPage; // On calcul la première entrée à lire
 
	// La requête sql (avec limit) pour récupérer les messages de la page actuelle.
	$retour_messages_limited='select date, E.nom_partenaire as emetteur, D.nom_partenaire as destinataire, nom_fic from HISTO, PARTENAIRES as D, PARTENAIRES as E where id_emetteur=E.id_partenaire AND id_destinataire=D.id_partenaire AND D.nom_partenaire like "'.$destinataire.'" AND E.nom_partenaire like "'.$emetteur.'" order by date desc limit '.$premiereEntree.','.$messagesParPage;
	$r_messages_limited=mysql_query($retour_messages_limited);
 
// s'il y a des reponses
if ($NumResult>0)
{
	echo '<table border="1" cellpadding="0" cellspacing="0"><tr><th>Date</th><th>Nom du Fichier</th></tr>';
	while($row=mysql_fetch_array($r_messages_limited)) 
	{
 			$date = stripslashes($row[0]);
			$nom_fic = stripslashes($row[1]);
 
			echo "<tr>
			<td>$date</td>\n
			<td>$nom_fic</td>\n
			</tr>\n";
	}
 
	// affichage des liens N° de pages
	echo '<p align="center">Page : '; 
	for($i=1; $i<=$nombreDePages; $i++) 
	{
		//On va faire notre condition
		if($i==$pageActuelle) //S'il s'agit de la page actuelle...
		{
			echo ' [ '.$i.' ] '; 
		}	
		else
		{
			echo ' <a href="test_code4.php?page='.$i.'">'.$i.'</a> ';
		}
	}
	echo '</p>';
}
 
 
?>
</div>
<?
// Deconnexion de la base de donnees
mysql_close();
?>
<div id="pied_de_page">
   Tonio del Plato
</div>
</body>
</html>
si quelqu'un à la patience de me répondre ... merci.