Page 1 sur 1

Position d'un enregistrement

Posté : 04 mars 2005, 00:01
par dudu59
Bonsoir à tous,

J'aimerais savoir comment connaître la position d'un enregistrement dans une requête.

Exemple : enregistrement 28/1358.

Merci.

:wink:

Posté : 04 mars 2005, 20:43
par Flood
Hello,

Pas très clair tout ça... peux-tu donner un exemple stp ?

/Flood

Posté : 04 mars 2005, 20:53
par Xenon_54
Il veut pouvoir récupérer la position d'un enregistrement dans une table selon un tri donné. À partir de:

Code : Tout sélectionner

SELECT nom FROM membres ORDER BY points DESC
Il voudrait récupérer la position d'un membre X

Posté : 04 mars 2005, 21:03
par dudu59
C'est ça. Xenon_54 a compris.

J'ai dans la table des photos. Quand je fais une requete selon une catégorie par exemple, j'aimerai connaître sa position dans le filtre appliqué.

Exemple : cette photo est la 24 ème sur les 362 photos de cette catégorie.

J'espère que c'est plus clair... :oops:

Posté : 04 mars 2005, 21:04
par Flood
OK mais comment est définie la "position" ?
1/ N° du tuple parmi les tuples retournés par une requête SQL donnée, commençant à 1 et finissant à N, avec N nombre total de tuples répondant à la requête SQL ? => ça peut se faire côté PHP avec une variable de boucle...
2/ "N°" du tuple retourné dans la table ? Dans ce cas, se baser sur une clé primaire numérique...

Enfin bref, je persiste, pas très clair tout ça ;)

/Flood

Posté : 04 mars 2005, 21:12
par Xenon_54
Peu importe l'ID de la photo, il veut pouvoir récupérer sa position après avoir effectué un tri sur ses enregistrements.

Exemple

Code : Tout sélectionner

+----+--------+ | id | Nom | +----+--------+ | 1 | Un | | 2 | Deux | | 4 | Quatre | | 6 | Six | +----+--------+
Cette requête

Code : Tout sélectionner

SELECT nom FROM membres ORDER BY id DESC
Devrait donné pour l'id 2, la position 3/4 par exemple.

:)

Posté : 04 mars 2005, 23:18
par dudu59
Pour éclairer Flood : par exemple, ma table comprend 1500 enregistrements au total.

Je filtre ensuite sur une catégorie particulière et je trie en fonction d'un champs visites : me donne 300 enregistrements dans l'ordre des visites descendant.

Je les affiche ensuite 8 par 8 grâce à LIMIT.

Je souhaite connaître la position de chaque enregistrement pour pouvoir faire "suivant" / "précédent".

C'est mieux ??? :?

Posté : 04 mars 2005, 23:21
par Xenon_54
Erf, si c'est pour faire ça, tu n'as pas besoin de connaître la position exact de l'item recueilli:
http://www.phpdebutant.org/article84.php

;)

Posté : 05 mars 2005, 00:37
par dudu59
Je me suis en effet débrouillé autrement... :lol:

J'ai récupéré la position avant l'ouverture de la popup et tout roule.

Y'en a toujours plus dans 2 têtes que dans une :wink:

A la prochaine.