Je fais appel à vos savoirs pour répondre à une problématique relativement simple qui se pose à moi dans le cadre d'une application PHP/MySQL. Pour un système de pagination, j'aimerais pouvoir, avec pour seule donnée la clef primaire désignant un élément, connaître d'avance sa position dans le tableau de résultats retourné par MySQL après une certaine requête.
Exemple :
Admettons que j'ai une table "messages" avec pour clef primaire "id". Chaque message appartient à un topic : ainsi, sa colonne "parent" comporte la valeur de la colonne "id" du topic.
J'aimerais donc pouvoir savoir à quelle ligne correspondra le message que je veux sélectionner lorsque je ferai une requête MySQL du type :
SQL
SELECT * FROM `messages` WHERE parent=3 ORDER BY `id` ASC
Tout cela dans le but d'écrire à la place :
SQL
SELECT * FROM `messages` WHERE parent=3 ORDER BY `id` ASC LIMIT n, 10
où "n" représente le numéro du message que je veux sélectionner.
Pour l'instant, je ne vois d'autre solution que faire la requête globale et parcourir le tableau jusqu'à trouver le message, et afficher les 10 messages qui suivent, ce qui représente à mon avis un gros gâchis !
Auriez-vous des informations pouvant m'aider ?
Merci !