Accueil > Forum > > > > Calcul d'un rang avec 2 tables
Calcul d'un rang avec 2 tables
samedi 13 août 2011 à 12:48:10 |
Calcul d'un rang avec 2 tables

Alpha911
|
Bonjour,
Je me creuse la tête depuis hier et rien n'en sort ...
j'ai 2 tables comme ce qui suit :
*********** ************
* JOUEUR * * POINTS *
*********** ************
idjoueur *idpoint *
nomjoueur *idjoueur *
... *date *
----------- ************
Quand un joueur gagne 1 point une ligne est ajoutée systematiquement avec l'heure à laquelle il a gagné 1 seul point
Je souhaite faire afficher le rang
A savoir
Rang 1 DAMIEN avec 10 points
Rang 2 SYLVIE avec 6 points
...
je suis passé par pas mal de choses (sql count; creation d'un array_push, distinct)
rien y fait ...
Avez vous une piste ? une commande SQL ?, une solution qui sorte du cadre de sql ?
Merci
|
|
samedi 13 août 2011 à 13:55:10 |
Re : Calcul d'un rang avec 2 tables

coucou747
|
Bonjour,
Qu'as tu tenté comme requetes ?
SELECT count(points) AS count, joueur FROM my_table GROUP BY joueur
Ca ne fonctionne pas ?
Cordialement,
Maxime
|
|
samedi 13 août 2011 à 14:42:00 |
Re : Calcul d'un rang avec 2 tables

Alpha911
|
Merci pour cette prise en charge,
SELECT count(points) AS count, joueur FROM points GROUP BY joueur
a été essayé mais me retourne aussi une erreur.
Je reprecise un peu comment sont organisés les tables si tu as une idée sachant que je souhaite faire un classement par rang
1 ere table JOUEUR
idjoueur, nomjoueur, prenomjoueur
2nde table POINTS
idpoint, datepoint, idjoueur
------------------------------------------
La table point s'incremente de ma manière suivante :
une ligne = 1 point on a donc la date à laquelle le point est gagné le total du score pour un joueur est généré par une requete de cette maniere
$id = $_GET['id'];
$sqlcalculpoint = mysql_query("SELECT * FROM `POINTS` WHERE `idjoueur` = '$id'");
$sommepointsjoueur = mysql_numrows($sqlcalculpoint);
Le soucis viens du fait que je n'arrive pas à trouver la logique pour sortir à la fin
un tableau ou le joueur est classé 36 ème sur 124 joueurs.
Merci
|
|
samedi 13 août 2011 à 15:10:19 |
Re : Calcul d'un rang avec 2 tables

coucou747
|
Réponse acceptée !
bien :
SELECT count(points) AS points, id_joueur FROM points GROUP BY is_joueur ORDER BY points DESC
ça doit te donner le classement des joueurs (enfin leur id et leur nombre de points)
Si tu veux le nom, une jointure s'impose, mais ça reste du meme ordre.
SELECT count(points) AS points, id_joueur FROM points LEFT JOIN JOUEUR ON id_joueur GROUP BY is_joueur ORDER BY points DESC
un truc comme ça devrait fonctionner
|
|
samedi 13 août 2011 à 17:23:42 |
Re : Calcul d'un rang avec 2 tables

Alpha911
|
Merci pour cette methode,
à present j'ai un tableau avec les joueurs :
SELECT count(points) AS points, id_joueur FROM points GROUP BY is_joueur ORDER BY points DESC
celui qui a le plus de point est en haut comment puis je afficher que ce joueur est 1 er ou 35 eme et uniquement ce joueur
exemple je suis sur la fiche du joueur n14 ($id = 14;) je veux qu'il connaisse uniquement son rang sans savoir qui est au dessu de lui ou en dessous
et sans lui donner le total de ses points.
Joueur 14 est 35 eme sur 114 membres.
Merci en tout ca grace à tes lumières ca progresse dans le bon sens.
|
|
samedi 13 août 2011 à 17:44:08 |
Re : Calcul d'un rang avec 2 tables

coucou747
|
hum... la requete est un peu plus complexe je n'ai rien sous la main pour la tester, mais ça devrait ressembler à ça :
SELECT COUNT(*) FROM
(SELECT count(points) AS points FROM points GROUP BY is_joueur
WHERE points >
)
Si c'est trop lent, ou si ça ne fonctionne pas, tu peux le faire en deux étapes :
1 tu recupères
SELECT count(points) AS points FROM points WHERE id_joueur = ID_DU_JOUEUR_COURRANT
qui est le score courrant.
2 tu récupères
SELECT COUNT(*) FROM
(SELECT count(points) AS points FROM points GROUP BY is_joueur
WHERE points > Resultat_precedent )
ça peut fonctionner.
|
|
samedi 13 août 2011 à 17:45:11 |
Re : Calcul d'un rang avec 2 tables

coucou747
|
Dsl, la requete a disparu...
SELECT COUNT(*) FROM
(SELECT count(points) AS points FROM points GROUP BY is_joueur
WHERE points >
(SELECT count(points) AS points FROM points WHERE id_joueur = ID_DU_JOUEUR_COURRANT)
)
|
|
samedi 13 août 2011 à 19:21:47 |
Re : Calcul d'un rang avec 2 tables

Alpha911
|
Merci,
Je n'arrives pas à le faire tourner. Mais bon la piste du
SELECT count( * ) AS points, idjoueur FROM points GROUP BY idjoueur ORDER BY `point` DESC
est une très bonne piste je pense qu'il doit exister en php cette fois ce qu'il faut pour afficher un enregistrement
par l'id avec une numerotation sans augmenter la charge de la requete sql.
Qu'en penses tu ?
je pense à ajouter dans la boucle while une condition d'affichage il me reste plus qu'à trouver ce qui me permet de numeroter
le resultat en php (si toutefois ceci est faisable).
|
|
samedi 13 août 2011 à 19:37:23 |
Re : Calcul d'un rang avec 2 tables

Alpha911
|
Je pense à une chose comme ca :
$requete = ("SELECT count( * ) AS points, idjoueur FROM points GROUP BY idjoueur ORDER BY `point` DESC");
while($sqlfix = mysql_fetch_array($requete))
{
if($sqlfix == $idjoueur)
{
fonction print_r($sqlfix)
}
}
ceci est approximatif pour le moment c'est la piste que je suis ....sachant que print_r donne la numerotation de l'affichage ...
Un avis ?
|
|
samedi 13 août 2011 à 19:40:19 |
Re : Calcul d'un rang avec 2 tables

coucou747
|
Réponse acceptée !
un truc comme ça ?
$classement = 1;
while($sqlfix = mysql_fetch_array($requete))
{
if($sqlfix == $idjoueur)
{ print_r($sqlfix) ;
echo $classement;
}
$classement ++;
}
Si tu pouvais donner l'erreur SQL, ça pourrait etre utile.
|
|
Cette discussion est classée dans : points, sql, tables, calcul, rang
Répondre à ce message
Sujets en rapport avec ce message
SQL > Limit qui affiche mal les nombres... [ par testuo77 ]
Bonjour,Je fait un petit jeux tout bête, alors dés qu'on gagne, on est mis dans une table des gagnants.Table de ce type :---IDpseudopoints---Ensuite j
Création de Tables via fichier .sql [ par LePhenol ]
Bonjour, Je suis en train de créer un install.php pour installer un petit portail que j'ai programmé. J'en suis à la création des Tables SQL dans ma B
Recherche multi-tables [ par JoJo738 ]
Hello, J'ai un petit probleme. Je fais un moteur de recherche multi-tables et je n'arrive pas à savoir de quel table vient l'enregistrement. Et il gar
lister table de la sql [ par agenceacapulco ]
Bonjour depuis le debut du week end je cherche un script me permettant de faire une liste deroulante dont le contenu est l'ensemble des table de ma ba
creation de tables tables SQL [ par alexlord ]
dans le mode d'emploi d'un forum c'est de creer des tables SQL a l'aide du fichier creation_tables.sql j'ai easy php et y'a un dossier my sql comment
Calcul de deux champ avec résultat dans un autre champ [ par arambasic ]
Voici ma question :je dispose de plusieurs champs dans la table dont 3 qui sont importants pour ma questionle champ points_precle champ points_moisle
probleme de SQL [ par kangoo75 ]
Salut à tous, voila mon petit probleme, j'ai 1 table qui represente une arborsence de repertoire "virrtuel" et une autre table "d'objet".J'aimerais re
[mysql]requête jointure sur 3 tables et une clé de liaison [ par Sedilbur ]
Bonjour à tous, Je viens aujourd'hui à vous pour vous demander de l'aide car je bloque au niveau d'une rêquete SQL.Je vous expose la situation pour mi
Requette SQL ds 2 tables [ par younes371 ]
Bonjour, je travail sur MySQL, j'ai deux tables : table1(id_table1,nom) table2(id_table2,nom,prenom,adresse) dont : table2 contient des informations s
Amélioration requête SQL [ par nounours21_6 ]
Bonjour tout le monde,j'ai un petit soucis de requête SQL,j'ai une table de membres que je mets à jours régulièrement afin de créer un graphique d'évo
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Forum
XML ET PHPXML ET PHP par karouani
Cliquez pour lire la suite par karouani RE : GOOGLE MAPRE : GOOGLE MAP par inwebo
Cliquez pour lire la suite par inwebo
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|