Bonjour,
J'ai un code qui m'affiche une annonce par page. Je navigue d'annonce en annonce par "précédent" (page_actuelle-1) et "suivant" (page_actuelle+1) liés actuellement aux numéros de références qui se suivent pour l'instant comme les id. Je n'ai aucun problème de fonctionnement avec ce code.
Le champ "reference" est amené à disparaître et les annonces seront ordonnées par ordre descendant d'insertion (date_insertion) mais je ne parviens pas à formuler mon code afin que "précédent" fasse le lien avec la ligne effectivement précédente dans ma_table et que "suivant" fasse le lien avec la ligne effectivement suivante dans ma_table.
Quelqu'un veut-il bien me mettre sur la voie ?
Merci.
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 <?php include("connexion.php"); ?> <?php $messages_par_page=1; $navigation=0; $nomTable='ma_table'; $identifiant='id'; $reference='reference'; $titre='titre'; $description='description'; $nom_page='reponses2.php'; $entree_total = $bdd->query('SELECT COUNT(*) AS total FROM ma_table'); $donnees_total = $entree_total->fetch(); $total=$donnees_total['total']; $nombre_de_pages = ceil($total/$messages_par_page); if (isset($_GET['page'])) { $page_actuelle=intval($_GET['page']); if($page_actuelle>$nombre_de_pages) { $page_actuelle=$nombre_de_pages; } } else { $page_actuelle=1; } $premiere_entree=($page_actuelle-1)*$messages_par_page; if($total == 0) { echo '<p>Aucune annonce pour le moment</p>'; } else { $retour_messages=$bdd->query('SELECT *, DATE_FORMAT(date_insertion, "%d/%m/%Y") AS date_insertion FROM ma_table ORDER BY id ASC LIMIT '.$premiere_entree.', '.$messages_par_page.'') or die(print_r($bdd->errorInfo())); echo '<br />'; while($affiche = $retour_messages->fetch()) { echo '<h1>' .stripslashes($affiche['titre']). '</h1>' ; echo '<p>' .$affiche['date_insertion']. '</p>' ; echo '<h3>Description</h3>' ; echo '<p>' .stripslashes($affiche['description']). '</p>' ; echo '<p class="postuler"><a href="postuler.php?reference=' .$affiche['reference']. '" title="Postuler">Postuler »</a></p>'; } echo '<br /><br />'; if($navigation==0){ $suivant=$page_actuelle+1; $precedent=$page_actuelle-1; if($precedent>=1) { echo '<a href="' .$_SERVER['PHP_SELF']. '?page=' .$precedent. '">« Précédent</a> * * * * * * * * * * *'; } //else {} if($suivant<=$nombre_de_pages){ echo '<a href="' .$_SERVER['PHP_SELF']. '?page=' .$suivant. '"> Suivant »</a>'; } //else {} } else if($navigation==1) { echo 'Page : '; for($i=1; $i<=$nombre_de_pages; $i++) { if($i==$page_actuelle) { echo '<span class="pagination-inactif">'.$i.'</span>'; } else { echo ' <a class="pagination" title="Page '.$i.'" href="'.$_SERVER['PHP_SELF'].'?page='.$i.'">'.$i.'</a> '; } } } $retour_messages->closeCursor(); } ?>
Partager