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 :

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'];
Voila ma derniere requete sert a mettre un autre joueur a sa place.
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 !