Je bloque sur ca depuis un petit moment et j'espere vraiment que vous pourrez m'aider. Sur une 1ere page j'ai un formulaire POST qui effectue une recherche dans la base et sur une 2eme page j'affiche les resultats. Seulement sur la page ou j'affiche les resultats il y a une fonction pagination et quand je clique sur la page suivante je perds les variables et donc les resultats ne sont plus bons. J'ai essaye de les mettre en session seulement j'ai du me planter car ca ne marche pas et je voiss pas d'ou vient le probleme. Voici le code et le resultat de echo $query en page 1 et en page 2. Comme vous le voyez il n'y a plus le WHERE en page 2.

echo $query page 1
SELECT region FROM voitures WHERE region='alsace' ORDER BY date DESC
echo $query page 2
SELECT region FROM voitures ORDER BY date DESC

Code de la page de resultats
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
 
<?
$query = "SELECT region FROM voiture";
 
$region=$_SESSION['region'];
 
if(isset($_POST['region']) && $_POST['region'] != "*" && $_SESSION['region']=$_POST['region']) {
$region = $fields['region'] = $_SESSION['region'];
}
 
if(!empty($fields)) {
     $i = 0;
     $query .= " WHERE ";
     foreach($fields AS $field => $value) {
          if($i > 0) {
               $query .= " AND ";
          }
          else {
               $query .= $field." = '".$value."'";
          }
          $i++;
     }
}
 
$query .= " ORDER BY date DESC ";
echo $query;
echo( "<br>region: <b>".$region."</b><br>\n" ) ;
 
$result = mysql_query($query) or die ('Erreur : '.mysql_error() );
 
$Nmax = 3;
$Ncur = 0;
 
$Ndeb=@$_GET["num"];
 
while (($row = mysql_fetch_array($result))
   && ($Ncur<$Nmax+$Ndeb)) {
   if($Ncur>=$Ndeb)
{
    echo '<table width="450" border="0" cellspacing="0">'."\n";
        echo '<tr>';
        echo '<td class="ad">('.$row['region'].')</td>';
        echo '</tr>'."\n";
    echo '</table>'."\n";
}
 
 
   $Ncur++;
} ?>