bonsoir a tous
voici mon code :
et voici mon problème :
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 <?................................................................. $messagesParPage=4; //Nous allons afficher 5 messages par page. $retour_total= mysql_query ("SELECT COUNT(*) AS total from membre WHERE metier like '%$metier%' AND departement like '%$departement%' AND codepostal like '%$codepostal%' AND lieu like '%$lieu%'") or die (mysql_error()); //Nous récupérons le contenu de la requete dans $retour_total $donnees_total=mysql_fetch_assoc($retour_total); //On range retour sous la forme d'un tableau. $total=$donnees_total['total']; //On récupere le total pour le placer dans la variable $total. //Nous allons maintenant compter le nombre de pages. $nombreDePages=ceil($total/$messagesParPage); if(isset($_GET['page'])) // Si la variable $_GET['page'] existe... { $pageActuelle=intval($_GET['page']); if($pageActuelle>$nombreDePages) // Si la valeur de $pageActuelle (le numéro de la page) est plus grande que $nombreDePages... { $pageActuelle=$nombreDePages; } } else // Sinon { $pageActuelle=1; // La page actuelle est la n°1 } $premiereEntree=($pageActuelle-1)*$messagesParPage; // On calcul la premiere entrée a lire // La requete sql pour récupérer les messages de la page actuelle. $retour_messages=mysql_query("select * from membre where metier like '%$metier%' AND departement like '%$departement%' AND codepostal like '%$codepostal%' AND lieu like '%$lieu%' ORDER BY id DESC LIMIT ".$premiereEntree.', '.$messagesParPage.''); $metier=$_POST['metier']; $departement=$_POST['departement']; $codepostal=$_POST['codepostal']; $lieu=$_POST['lieu']; while($donnees_messages=mysql_fetch_assoc($retour_messages)) // On lit les entrées une a une grâce a une boucle { //Je vais afficher les messages dans des petits tableaux. C'est a vous d'adapter pour votre design... //De plus j'ajoute aussi un nl2br pour prendre en compte les sauts a la ligne dans le message. echo '<table width="606" border="1" align="center" cellpadding="0" cellspacing="0"> <tr> <td width="148" height="37" bgcolor="#FFFF99"><strong> '.stripslashes($donnees_messages['login']).' </strong></td> <td width="95"><strong> CP: '.stripslashes($donnees_messages['codepostal']).'</strong></td> <td width="175"><strong> Ville : '.nl2br(stripslashes($donnees_messages['ville'])).'</strong></td> <td width="178" rowspan="2"><div align="center"><a href="traitementchoixresultat.php?id='.stripslashes($donnees_messages['id']).'" TARGET="_blank"><img src="images/Icone_loupe.png" width="40" height="40" alt="" border="0" ></a></div></td> </tr> <tr> <td height="32" colspan="2"><strong> Type de résidence : '.stripslashes($donnees_messages['lieu']).'</strong></td> <td height="32"> <strong> Exp : '.stripslashes($donnees_messages['experience']).'</strong></td> </tr> <tr> <td height="36" colspan="3"><strong> <u></u> </strong></td> <td bgcolor="#FFFFCC"><div align="center"><strong> <strong>'.stripslashes($donnees_messages['disponibilite']).'</strong></td> </tr> </table><br /><br />'; //J'ai rajouté des sauts a la ligne pour espacer les messages. } echo '<p align="center">Page : '; //Pour l'affichage, on centre la liste des pages for($i=1; $i<=$nombreDePages; $i++) //On fait notre boucle { //On va faire notre condition if($i==$pageActuelle) //Si il s'agit de la page actuelle... { echo ' [ '.$i.' ] '; } else //Sinon... { echo ' <a href="rechercheresultat.php?page='.$i.'">'.$i.'</a> '; } } } echo '</p>'; ?>
dans ma base de donnée j'ai 10 résultats qui conviendront a ma recherche
lorsque je fais une recherche sur mon site j'obtiens les 4 premiers résultat sur la première page de la pagination, ensuite lorsque que je clic sur le lien de la 2 éme page, j'ai aussi 4 bons résultats mais lors du clic sur la 3 éme page qui est censé me donner les 2 derniers résultats , je n'obtiens rien et effacement des 3 liens
de plus lorsque je suis sur la page 2 et que je veux revenir sur la page 1 je n'obtiens plus que 2 résultats sur la page 1..
voila j'espére avoir été clair et j'ai essayé de détailler le plus possible..
je suis bloquer depuis 3 jours sur ce code et j'en perd mon latin ^^
bon courage![]()
Partager