Bonjour à tous,
J'ai fait un script qui permet de récuperer les joueurs titulaires de chaque équipe afin d'effectuer un match.
Ce que je souhaite, c'est de vérifier que les joueurs que chaque équipe a mis sur la feuille de match (table phpl_ordres) appartiennent toujours a l'équipe (qu'il n'y ai pas eu de transfert entre temps).
Voici les 2 tables en questions :
Joueurs-id_joueur
-id
- equipe_id
-caracteristique1
-caracteristique2
ect
phpl_ordres-id
-match_id
-equipe_id
-joueur-id
-poste (le poste du joueur : 1 2 3 4 5)
Donc dans cette table il y a une entrée pour chaque poste (que prendra un joueur) de chaque équipe a chaque match
Mon code actuel :
Voila ma derniere requete sert a mettre un autre joueur a sa place.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 <?php // Cette premiere requete permet de récuperer les joueurs (des 2 équipes) qui joueront le match $sql='SELECT phpl_ordres.equipe_id AS id_equipe_ordre, joueur_id, joueurs.equipe_id AS id_equipe, poste, dribble, interception, defense FROM phpl_ordres LEFT JOIN joueurs ON (phpl_ordres.joueur_id = joueurs.id) WHERE '.$row['id_match'].' = match_id'; $requete2 = mysql_query($sql) or die (mysql_error()); // ON BOUCLE CHAQUE JOUEUR while($row2 = mysql_fetch_assoc($requete2)) { // ICI on vérifie que le joueur appartient toujours bien a une des 2 équipes if($row2['id_equipe'] != $row['id_equipe_dom'] && $row2['id_equipe'] != $row['id_equipe_ext']) { echo '<br /><strong> CE JOUEUR : '.$row2['joueur_id'].' nappartient plus à léquipe </strong><br />'; // on le remplace par un joueur qui ne joue pas $sql3='SELECT joueur_id, joueurs.equipe_id AS id_equipe, poste, dribble, interception, defense FROM joueurs LEFT JOIN phpl_ordres ON (phpl_ordres.joueur_id = joueurs.id) WHERE joueurs.equipe_id ='.$row2['id_equipe_ordre'].' AND match_id !='.$row['id_match'];
il faut que le joueur appartienne bien a l'équipe (premiere clause du WHERE)
mais aussi que le joueur ne soit pas déja sur la feuille de match a un autre poste (2eme clause du WHERE
J'aimerais que donc dans le cas ou ma condition (le if) est passé
la derniere requete (sql3) récupere un joueur (id_joueur) de l'équipe défini par id_equipe, mais qui n'étais pas sur la feuille de match, c'est a dire qu'il n'y ai pas d'entrée dans la table phpl_ordres de ce joueur avec le id_match du match actuel
ce que je traduisais par match_id !='.$row['id_match'];
Donc j'aimerais vos conseils sur cette jointure.
Merci !
Partager