Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/02/2012, 18h36   #1
Candidat au titre de Membre du Club
 
Homme
Inscription : janvier 2012
Messages : 15
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : janvier 2012
Messages : 15
Points : 10
Points : 10
Par défaut problème requête php mysql

Bonjour à tous,
je viens chercher de l'aide sur une requête que je souhaite mettre en place :
j'ai une table ou j'ai 3 colonnes, id, idjeu, nom et score


dans le champ nom il y a des doublons, par exemple j'ai

ID IDJEU NOM SCORE
12 2 toto 10
15 2 tata 15
25 3 toto 1
84 3 tata 15
101 4 toto 10

je souhaite par une requête faire par exemple une recherche sur "toto tata"
que la requête trouve les toto et tata puis si il y a des doublons dans le même idjeu, additionner les scores puis classer par score,pour mon exemple le resultat serait :
SCORE 35=>idjeu 2
16=>idjeu 3
10=>idjeu 4


j'ai pensé par un array mais je n'y arrive pas. j espére que mes explications ont été claire et que vous pourriez me guider.

Merci
webduweb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/02/2012, 10h10   #2
Invité régulier
 
Homme Mathieu Buis
Développeur informatique
Inscription : février 2012
Messages : 8
Détails du profil
Informations personnelles :
Nom : Homme Mathieu Buis
Âge : 21
Localisation : France, Corrèze (Limousin)

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : février 2012
Messages : 8
Points : 5
Points : 5
Envoyer un message via MSN à haanjoy Envoyer un message via Skype™ à haanjoy
Heeu... Il n'y aurait pas 4 colonnes dans ta table plutot? Ton score additionné pour le idjeu=2 serait pas de 25?

C'est pas tres beau ce que je vais te donner mais je pense que ça pourrait fonctionner.

Ok il faut additionner les scores, mais faut il les insérer en base? ou simplement stocker le résultat dans une variable que tu vas réutiliser?

Parce que si jamais tu inseres en base, que faisons nous du champ 'nom'? on choisit un des deux noms au hasard?

Je crois que ton problème n'est pas très clair.
haanjoy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/02/2012, 11h04   #3
Candidat au titre de Membre du Club
 
Homme
Inscription : janvier 2012
Messages : 15
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : janvier 2012
Messages : 15
Points : 10
Points : 10
Oui tu as raison pour idjeu 2 c est 25

en fait c est pour afficher et non effectuer un enregistrement donc il faut en fait afficher le nom du jeu dans l'ordre du score et ensuite je récupère l'id pour effectuer un lien.
webduweb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/02/2012, 11h46   #4
Invité régulier
 
Homme Mathieu Buis
Développeur informatique
Inscription : février 2012
Messages : 8
Détails du profil
Informations personnelles :
Nom : Homme Mathieu Buis
Âge : 21
Localisation : France, Corrèze (Limousin)

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : février 2012
Messages : 8
Points : 5
Points : 5
Envoyer un message via MSN à haanjoy Envoyer un message via Skype™ à haanjoy
Simplement pour afficher les occurences dans l'ordre du score utilise simplement un 'ORDER BY score' à la fin de ta requête d'affichage. Ensuite tu veux récupérer tes deux id si le score est égal si j'ai bien compris? Mais qu'est ce que tu veux en faire ensuite?

Si je suis ton raisonnement, tu veux afficher tes occurences dans l'ordre du score (croissant ou décroissant là n'est pas la question), et ensuite additioner les deux scores si l'IDJEU est le même pour deux occurences?

Mais je réitère ma question du post précédent, si tu additiones les deux scores pour les IDJEU égaux, qu'est ce que tu vas faire du résultat de cette addition?
haanjoy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/02/2012, 16h02   #5
Candidat au titre de Membre du Club
 
Homme
Inscription : janvier 2012
Messages : 15
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : janvier 2012
Messages : 15
Points : 10
Points : 10
Merci de ton intervention, je me suis peut être mal exprimé, je vais décrire plus précisément ce que je cherche à faire :

J'ai une table avec comme entrées par exemple :
ID IDJEU NOM SCORE
12 2 toto 10
15 2 tata 15
25 3 toto 1
84 3 tata 15
101 4 toto 10

Dans un formulaire je souhaite faire une recherche de type : "toto tata"
dans ma requête je vais faire un LIKE 'toto%' and LIKE 'tata%'
si je fais un echo il va me sortir la liste ci-dessous telle quel.
Avec le résultat de ma requête que je ne souhaite pas afficher de suite je veux vérifier si j'ai des doublons ici j'ai idjeu 2 et 3 si c'est le cas ajouter le score de idjeu 2 toto et tata puis du idjeu 3 toto tata
puis d'afficher ce résultat final par ordre décroissant par score soit ici
SCORE
25 =>idjeu 2
16 =>idjeu 3
10 =>idjeu 4

Dans ma premiére requête je n'ai pas besoin de classer c'est une fois que j'ai réuni les doublons et additionné leur score ou la je fais un classement.

J'avais trouvé il y a longtemps un sujet presque identique mais utilisé sur un moteur de recherche interne par mot indexé.

Merci de votre aide
webduweb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2012, 05h27   #6
Invité de passage
 
Inscription : février 2012
Messages : 1
Détails du profil
Informations forums :
Inscription : février 2012
Messages : 1
Points : 1
Points : 1
Citation:
Envoyé par webduweb Voir le message
Oui tu as raison pour idjeu 2 c est 25

en fait c est pour afficher et non effectuer un enregistrement donc il faut en fait afficher le nom

du jeu dans l'ordre du score et ensuite je récupère l'id pour effectuer un lien.
il faut en fait afficher le nom du jeu dans l'ordre du score et ensuite je récupère l'id pour effectuer un lien.
reynggj est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2012, 11h27   #7
Modérateur
 
Avatar de Vil'Coyote
 
Développeur Web
Inscription : février 2008
Messages : 3 311
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France, Marne (Champagne Ardenne)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : février 2008
Messages : 3 311
Points : 4 506
Points : 4 506
Code sql :
SELECT idjeu, sum(score) FROM TABLE GROUP BY idjeu
__________________
la vie n'est pas cirrhose des foies ...
Vil'Coyote est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h42.


 
 
 
 
Partenaires

Hébergement Web