Bonjour
Je développe un petit site web pour une association sportive. Ca se passe bien sauf que j'ai un problème (évidemment sinon je n'écrirai pas ce message ).
Je souhaite sélectionner certaines informations provenant de différentes tables mais je n'arrive pas à écrire la requête SQL correspondante (j'ai jamais été très doué avec les jointures et ce genre de joyeusetés).
Je fais donc appel à vous pour m'aider
Voici le détail (en gros), des tables dont il est question :
Table Joueurs (id_joueur, nom, prenom, licence, categorie, points)
Table Tournois (id_tournoi, nom_tournoi)
Table Participation (id_participation, id_tournoi, licence, categorie, participation)
Le champs participation de la table Participation est un chiffre (0, 1 ou 2) déterminant si le joueur n'a pas choisi de participer au tournoi, s'il a accepté ou s'il a refusé.
Le fonctionnement est le suivant :
Le joueur arrive sur une page ou il est invité à choisir un tournoi et une catégorie.
Le but, une fois ce choix effectué, est d'afficher une table contenant la licence, le nom de tous les joueurs participant à ce tournoi et étant de cette catégorie, ainsi que la valeur correspondant à leur participation à ce tournoi.
Cette table aurait pour titre le nom du tournoi.
Il est possible de le faire en plusieurs requêtes mais avec plein de joueurs, imaginez la lourdeur ... Je pense qu'il serait possible de le faire en une seule requête.
Afin de vous aider à mieux cerner, je mets la façon barbare et totalement non optimisée d'obtenir ce résultat :
Le nom du tournoi serait récupéré lors de la sélection de celui-ci par le joueur, on ne s'embête donc pas avec la requête.
Ensuite, on ferait une boucle qui pour chaque résultat récupèrerait les données de la table Joueurs :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT licence, participation FROM Participation WHERE id_tournoi = 'id_du_tournoi' AND categorie = 'id_de_la_categorie';
Évidemment, comme cela, c'est tout crade et très très lourd.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT * FROM Joueurs WHERE licence = '" . $row[0] . "';
Voilà, merci d'avance à celui qui me donnera la solution
Partager