Pagination par Date

Eléphanteau du PHP | 19 Messages

28 déc. 2007, 16:20

Salut,

J'essaie de faire un système de pagination par date pour des news.
Actuellement j'ai une pagination qui affiche les news par 10, auriez vous une idée de comment modifié mon script?

Merci

Eléphant du PHP | 493 Messages

28 déc. 2007, 17:31

Le meilleur moyen d'effectuer une pagination par date est de stocker le timestamp lors de l'enregistrement de la news et de faire tes sélections dessus, surtout que les timestamps sont faciles à manipuler puisqu'il s'agit d'entiers !

Eléphanteau du PHP | 19 Messages

28 déc. 2007, 18:14

Le hic c'est que mes dates dans la BDD sont sous le format date : 2007-12-28

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

28 déc. 2007, 19:33

Et c'est encore mieux qu'un timestamp à mon avis :)

Le fait de l'avoir sous format date te permet d'utiliser toutes les fonctions de manipulations des dates que peut t'offrir la base de données. A partir de là, il suffit simplement de jouer avec la clause WHERE pour filtrer les résultats à afficher :

Code : Tout sélectionner

WHERE champ_date = '2007-12-28' -- pour afficher toutes les news d'un jour WHERE YEAR(champ_date) = 2007 AND MONTH(champ_date) = 12 -- pour toutes les news d'un mois WHERE YEAR(champ_date) -- pour toutes les news d'une année WHERE WEEK(champ_date) = 52 -- pour les news d'une semaine ...
http://dev.mysql.com/doc/refman/5.0/en/ ... tions.html
Tout plein de fonctions pour jouer avec les dates ;)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphanteau du PHP | 19 Messages

28 déc. 2007, 21:18

Merci pour l'info, reste à faire une pagination propre.