SELECT la Xème entrée MySQL - WHERE & orderby

kelsett Messages postés 353 Date d'inscription dimanche 9 juillet 2006 Statut Membre Dernière intervention 13 octobre 2014 - 6 oct. 2008 à 19:41
kelsett Messages postés 353 Date d'inscription dimanche 9 juillet 2006 Statut Membre Dernière intervention 13 octobre 2014 - 7 oct. 2008 à 13:43
Bonjour,
Ma question peut paraitre stupide car j'imagine que la réponse est vraiment simple mais là j'ai un gros doute =)
Est ce qu'il existe une commande SQL permettant de séléctionner la $Xième entrée d'un SELECT avec des critères (ou $X est une variable) ?
Je m'explique avec un exemple :
J'ai une bdd avec une colonne id, une colonne points et une colonne valid : 75 entrées ont valid="1" et 25 autres ont valid="0". Les points des entrées varient entre 0 et 5000.
$X est une variable comprise entre 0 et 75, c'est à dire entre 0 et le nombre d'enregistrements valides.
Maintenant, je veux sélectionner la $Xème entrée des 75 ids WHERE valid="1" ORDER BY points. Est ce que c'est possible de faire ca ou est ce qu'il faut forcément que je passe par un LIMIT $X,$X ?
Je sais pas si j'ai été très clair, je ne suis pas bon dans les explications de ce genre :)
Merci d'avance
A voir également:

6 réponses

Revan26914 Messages postés 1778 Date d'inscription dimanche 14 octobre 2007 Statut Contributeur Dernière intervention 15 octobre 2019 320
6 oct. 2008 à 20:45
Bonsoir,

Tu peux faire comme ça:

mysql_query('SELECT ce_que_tu_veux  FROM ta_table WHERE id=\''. $Xeme . '\' ORDER BY points');



Cordialement

Revan
-1
avion-f16 Messages postés 19252 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 10 février 2025 4 505
6 oct. 2008 à 22:16
Tu peux utilisé un "LIMIT"

$sql = "SELECT * FROM tatable LIMIT Xeme, 1"

Remplace Xeme par ton nombre MOINS 1 (pour 10ème : 9)
-1
donuts08 Messages postés 519 Date d'inscription dimanche 13 novembre 2005 Statut Membre Dernière intervention 15 octobre 2008 39
6 oct. 2008 à 23:18
bonjour,

en fait il cherche un autre moyen que LIMIT, mais pourquoi?
-1
kelsett Messages postés 353 Date d'inscription dimanche 9 juillet 2006 Statut Membre Dernière intervention 13 octobre 2014 62
7 oct. 2008 à 11:41
En fait je voudrais sélectionner qu'une entrée dans ma table, donc ce que je veux dire c'est est ce qu'il existe un autre moyen qu'en utilisant LIMIT ? Par exemple je veux sélectionner la 35ème entrée a avoir valid="1" en triant par points, est ce que c'est possible autrement que par SELECT....WHERE valid="1" ORDER BY points LIMIT 35,35 ?
-1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
donuts08 Messages postés 519 Date d'inscription dimanche 13 novembre 2005 Statut Membre Dernière intervention 15 octobre 2008 39
7 oct. 2008 à 13:32
je ne crois pas, à moins que tes ID dans la table soient toujours de 1 à 75, dans ce cas tu pourrais juste sélectionner la bonne ligne avec le bon ID (voir le post de Revan26914)

PS: Comme le dit avion-f16, c'est LIMIT X,1 et pas LIMIT X,X
-1
kelsett Messages postés 353 Date d'inscription dimanche 9 juillet 2006 Statut Membre Dernière intervention 13 octobre 2014 62
7 oct. 2008 à 13:43
Ok, merci quand même :)
-1