Bonjour,
J'ai créé un formulaire (formulaire.php) qui cherche dans ma base et qui affiche les résultats sur une page resultats.php. Sur la page résultats.php j'utilise un système de pagination pour afficher les résultats. Mon problème est le suivant:
Quand il y a plusieurs pages je perds les variables sélectionnées lors de la soumission du formulaire. Je débute en Php et je sais qu'on peut mettre les varialble en session seulement je vois pas comment faire dans mon cas precis. Peut etre il existe une meilleure solution. A vous de me conseiller. Voici le code de la page resultats.php.
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 <? $query = "SELECT region, pays FROM mabase"; if(isset($_POST['region']) && $_POST['region'] != "*") { $fields['region'] = $_POST['region']; } if(isset($_POST['pays']) && $_POST['pays'] != "*") { $fields['pays'] = $_POST['pays']; } 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; $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"><b>'.$row['region'].' '.$row['pays'].' </b></td>'; echo '</tr>'."\n"; echo '</table>'."\n"; } $Ncur++; } ?> </td> <td> <table align="left" cellpadding="0" cellspacing="0" border="0" width="250"> </table> </td> </tr> <tr> <td align="center" colspan="3"> <br /> <table> <tr> <? if($Ndeb > 0) { ?> <td valign=top> <b><font size="2" face="Arial"><a href="?num=<? echo $Ndeb-$Nmax; ?>">Pécédente</a></font></b> </td> <? } ?> <td> <? $Npag = ceil(mysql_numrows($result)/$Nmax); for($i = 1;$i<=$Npag;$i++) { if($Ndeb == ($i-1)*$Nmax) { ?> <b><font size="2" face="Arial">Page <? echo $i; ?></font></b> <? } else { ?> <b><font size="2" face="Arial"><a href="?num=<? echo ($i-1)*$Nmax; ?>" > <? echo $i; ?> </a></font></b> <? } } ?> </td> <? if($row) { ?> <td valign=top> <b><font size="2" face="Arial"><a href="?num=<? echo $Ncur; ?>">Suivante</a></font></b> </td> <? } ?> </tr></table> </td> </tr>
Partager