La Communauté Webmaster  forum rss


  Forum-webmaster
  Technique - programmation
  PHP / MySQL
(Modérateurs: Shain, Jey, erwinol, Lilian, lauryv, ToToMaStEr)
  Place d'un item dans une base mysql
« Précédent Suivant »
Pages: [1] Descendre
Répondre    Aviser des réponses    Envoyer le sujet    Imprimer
  Auteur  Sujet: Place d'un item dans une base mysql  (Lu 761 fois)
Place d'un item dans une base mysql
« sur: le 26-01-2005 a 09:54:00 »
ng
Membre récent
*

Hors-Ligne

Sexe: Male
Messages: 3



je suis aussi cuisto

Voir le Profil    WWW
Répondre avec citation

Salut à tous,

je cherche comment écrire une requête mysql qui me permettrait de trouver la position d'un enregistrement dans la base en fonction de son score.

2 champs dans chaque enregistrement, id et score, l'id est unique, le score varie de 0 à l'infini. Comment connaître la place de id=13 par exemple quand score est trié par ordre décroissant ?

Merci, et j'espère que c'est pas trop confus.

Rapporter au modérateur  

Re:Place d'un item dans une base mysql
« Répondre #1 sur: le 29-01-2005 a 18:40:36 »
pixyle
Habitué
***

Hors-Ligne

Sexe: Femelle
Messages: 332





Voir le Profil    E-Mail
Répondre avec citation

Euh si c'est assez confu ^_^ Qu'est ce que tu appelles "place" "position" ? 

Rapporter au modérateur  

Se demande ce qu'il y a de pire qu'un bug inreproductible |-(
Re:Place d'un item dans une base mysql
« Répondre #2 sur: le 29-01-2005 a 19:35:41 »
ng
Membre récent
*

Hors-Ligne

Sexe: Male
Messages: 3



je suis aussi cuisto

Voir le Profil    WWW
Répondre avec citation

et bien si j'ai une liste de scores par exemple :

id    score
1    109
2    156
3    156
4    29

comment savoir que l'id 1 est 2ème dans la liste ?
(en une seule requête sql)

Rapporter au modérateur  
Re:Place d'un item dans une base mysql
« Répondre #3 sur: le 29-01-2005 a 20:22:15 »
pixyle
Habitué
***

Hors-Ligne

Sexe: Femelle
Messages: 332





Voir le Profil    E-Mail
Répondre avec citation

... je suis loin de tout connaitre sur mysql mais je crois pas que ce soit possible directement avec une requete ... voit pas quelle tete ça pourrait avoir ...

En attendant reste l'astuce :

select * from matable limit 2,1 

« Dernière Édition: le 29-01-2005 a 20:22:57 par pixyle » Rapporter au modérateur  

Se demande ce qu'il y a de pire qu'un bug inreproductible |-(
Re:Place d'un item dans une base mysql
« Répondre #4 sur: le 29-01-2005 a 20:27:02 »
pixyle
Habitué
***

Hors-Ligne

Sexe: Femelle
Messages: 332





Voir le Profil    E-Mail
Répondre avec citation

En relisant ta question je pense pas y avoir vraiment répondu. Sérieux je me creuse le crâne mais je vois rien d'autre que d'incrémenter une variable compteur ou de créer un champ genre numéro que tu incrémentes à chaque ajout ...

Rapporter au modérateur  

Se demande ce qu'il y a de pire qu'un bug inreproductible |-(
Re:Place d'un item dans une base mysql
« Répondre #5 sur: le 30-01-2005 a 11:58:35 »
tavman
Habitué
***

Hors-Ligne

Messages: 466



HS

Voir le Profil
Répondre avec citation

Un moyen pourrait etre de n'enregistrer que les 10 meilleurs scores seulement... Tu changerai ta table au fur et a mesure (en ne gardant que 10 entrées a chaque fois). Après, tu peut toujours faire un ORDER BY `score` lorsque tu va chercher tes résultats...

Ou sinon, tu peut toujours feinter :
si jamais t'as 50 pages de résultats, t'as moyen de savoir quel est le score le plus mauvais et le meilleur de chaque page...

Donc pour afficher les 30 premiers, tu fait

SELECT * FROM `matable` ORDER BY `score` LIMIT 0 , 30

si le moins bon score de cette page là c'est 123, la requete pour afficher la page suivante ce sera

SELECT * FROM `matable` WHERE `score` < 123 LIMIT 0 , 30

et ainsi de suite.

( ca te donnera la même chose que :
SELECT * FROM `matable` LIMIT 30 , 30
normalement, mais cette technique est plus simple).

Sinon, sans connaitre le score du gars, tu peut pas savoir quelle est son entrée dans la table (enfin je voit pas comment c'est possible)...

Rapporter au modérateur  

I-Radian
Re:Place d'un item dans une base mysql
« Répondre #6 sur: le 30-01-2005 a 12:14:43 »
ng
Membre récent
*

Hors-Ligne

Sexe: Male
Messages: 3



je suis aussi cuisto

Voir le Profil    WWW
Répondre avec citation

ok, merci à tous pour vos réponses, c'est très sympa ! 

Rapporter au modérateur  
Répondre    Aviser des réponses    Envoyer le sujet    Imprimer
Pages: [1] Monter
« Précédent Suivant »
Sauter à: 

Votre statut : Invité
Vous devez être membre pour participer.
 
 
Let’s Encrypt : le certificat SSL gratuit
Tester votre site internet sur différents navigateurs
[WordPress] Des problèmes avec l’administration ?
Rappel : Mettez à jour vos CMS et vos sites E-commerce
Le .fr fête ses 25 années d’existence !
Mesurer votre audience en temps réel avec BubbleStat
Porter réclamation contre Google Panda ?
Zlio n’est plus …
 
 
 
 
 

Copyright (c) Devclic 2002 - 2026 - Tous droits réservés

creation site internet strasbourg