Bonjour à tous.
J'ai une table qui contient des news. Voici deux champs interessants:
- id (auto-incrémenté)
- post_time (nombre de secondes écoulées depuis l'EPOCH)
Je voudrais afficher ces news classées par leur timestamp. Le problème c'est qu'il y a beaucoup de news et que c'est une base MySQL à afficher avec du PHP dans un navigateur, donc ça serait bien de faire un système de pagination. Il faut maintenant gérer le lien vers les différentes pages.
Ma solution (qui permet de résoudre aussi le problème de la recherche): mon script affiche la page qui contient la news dont l'ID est $contains (passé en paramètre). Pour mettre un lien vers une certaine page, il faut donc connaître l'ID de la première news de la page.
Maintenant voila ma question en rapport avec SQL: est-ce qu'il existe une fonction ou un je ne sais quoi (appelons-le ROW_NUM) qui retourne le numéro courant de la ligne dans le résultat de la requête, pour faire un truc du genre (afin d'avoir l'ID de la première news de chaque page):
Ce qui ne peut pas marcher: faire un modulo sur l'id car il peut y avoir des suppressions de news.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT id FROM news HAVING ROW_NUM MOD $nombre_de_news_par_page = 0 ORDER BY post_time
Merci d'avance.
Partager