[..]
Version imprimable
[..]
Et bien commence par nous donner ce que tu a fait jusqu'a présent, et nous expliquer ou tu coince.
Ensuite on pourra t'aider :)
[..]
Tu n'y arrive pas du tout, c'est a dire, quesque tu a fait qui ne marche pas ?
[..]
[..]
Poste le SQL de tes tables (exportation PHPMYADMIN)
[...]
Pour faire une pagination les étapes sont :
1/ fixer un nombre d"element a afficher par page
2/ diviser (division entière) le nombre totale par le nombre par page, tu obtiens le nombre de page.
3/ tu fait un lien pour aller vers chaque page, en précisant la page que tu veux afficher.
4/ tu affiche la liste des element qui vont de <numéro de ta page * nombre d'element par page> à <nombre d'élements par page>
Mais si tu avait deja un script de fait, meme si il marche pas, on pourait te le debuger
[...]
pour l'affichage des pages tente :
(le AS était pas bon)Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 <?php // PAGINATION $nombreDeMessagesParPage = 5; $retour = mysql_query('SELECT COUNT(*) AS nb_messages FROM news'); $donnees = mysql_fetch_array($retour); $totalDesMessages = $donnees['nb_messages']; $nombreDePages = ceil($totalDesMessages / $nombreDeMessagesParPage); echo 'Page : '; for ($i = 1 ; $i <= $nombreDePages ; $i++) { echo '<a href="index.php?page=' . $i . '">' . $i . '</a> '; } //PAGINATION ?>
[...]
Ta récupération du nombre total d'enregistrements par un COUNT(*) fonctionne dans le cas présent mais si la requête devient un peu complexe, ça te conduit à exécuter 2 fois une requête potentiellement couteuse.
La clause SQL_CALC_FOUND_ROWS permet de ne pas à avoir à exécuter 2 fois la même requête.
dans ce cas, mysql_num_rows($rs) marche tres bien aussi :)