Page 1 sur 1
Petite question
Posté : 09 avr. 2012, 02:54
par Roye20
Salut a Tous,
Je me suis monté une page PHP qui affiche les Entraineurs de Hockey.. La page fait ce que je veux a une exception qu'elle n'affiche que les entraineurs qui sont dans un Club, mais j'aimerais aussi que mon Query affiche les Entraineurs qui n'ont pas de Club.. je sais que je touche au but, mais je n'arrive pas..
Je suis bout de ressources, c'Est pour sa que j'ai décidé de demander de l'aide sur se Forum..
Si quelqu'un a une idée..
la ou je sais que sa bloque, c'est dans ma clause WHERE , la voici: WHERE (coaches.Team=proteam.Name OR coaches.Team=farmteam.Name)
dans cette clause, j'aimerais aussi ajouté OR coaches.Team = null ou quelque chose du genre.. dans la condition ici haut.. mais le query ne veut pas afficher les entraineurs qui ont la valeur NULL dans la table coaches, column Team dans ma BD MySQL...
Si quequ'un a une idée svp, il serait bien aimable..
Merci
Re: Petite question
Posté : 09 avr. 2012, 07:55
par xTG
Est-ce vraiment des NULL dans la table ? Et non plutôt des chaînes vides ?
Re: Petite question
Posté : 09 avr. 2012, 12:22
par moogli
Si tu nous indiquais la structure des table ce serait plus simple pour te répondre.
Parce que la je penche pour une jointure externe (droite ou gauche à voir) plutôt que la jointure naturel que tu fairepart dans ton where
Pour les jointures =>
http://sqlpro.developpez.com/cours/sqlaz/jointures/
@+
Re: Petite question
Posté : 09 avr. 2012, 14:02
par Roye20
Merci de vos reponses, ça indique Null dans ma table, mais c'est des champs qui son Vide...
Je n'arrive pas a faire afficher les coaches qui n'ont pas de valeur dedans..
voici le code de la query au complet: la ou je sais que sa bloque, c'est entre les parentheses apres le WHERE.. j'aimerais ajouté un OR coaches.Team= vide , mais je ne sais pas comment le formuler...
Merci
$query_GetSalarys = "SELECT proteam.City as Pcity, coaches.Number, coaches.Team ,coaches.Name , coaches.FarmPro, ((PH + DF + OF + PD + EX + LD) / 6) as Roye , proteam.Number as Pnumber, farmteam.Number as Fnumber , coaches.Age, coaches.Country, coaches.Salary, coaches.Contract FROM coaches, proteam, farmteam
WHERE (coaches.Team=proteam.Name OR coaches.Team=farmteam.Name) AND proteam.Number=farmteam.Number AND Retired = 0 AND coaches.Name LIKE '".$GET_GetLetter."%' ORDER BY coaches.Name asc";
$GetSalarys = mysql_query($query_GetSalarys, $connection) or die(mysql_error());
$row_GetSalarys = mysql_fetch_assoc($GetSalarys);
$totalRows_GetSalarys = mysql_num_rows($GetSalarys);
Re: Petite question
Posté : 09 avr. 2012, 14:13
par Roye20
J'ai oublié, la structure de la table coaches :
Colonne Type Interclassement Attributs Null Default Extra
C_ID int(11) non aucune AUTO_INCREMENT
Name varchar(50) latin1_swedish_ci oui null
Number int(11) oui null
Team varchar(32) latin1_swedish_ci oui null
FarmPro varchar(5) latin1_swedish_ci non aucune
Country varchar(32) latin1_swedish_ci oui null
Age double latin1_swedish_ci oui null
Merci Beaucoups pour votre aide
Roye
Re: Petite question
Posté : 09 avr. 2012, 14:57
par xTG
(coaches.Team=proteam.Name OR coaches.Team=farmteam.Name OR coaches.Team = NULL)
ou
(coaches.Team=proteam.Name OR coaches.Team=farmteam.Name OR coaches.Team IS NULL)
Re: Petite question
Posté : 09 avr. 2012, 15:32
par Roye20
Ouff, sa fonctionne avec le coaches.Team IS null.. je mettais un = a la place du IS, et sa ne fonctionnais pas... Merci beaucoups..
Sauf que le meme coaches apparait 30 fois maintenant , je dois trouver une facon de le faire apparaitre qu'une seul fois...
Merci beaucoups..
Roye
Re: Petite question
Posté : 09 avr. 2012, 16:48
par xTG
Utilises la clause GROUP BY pour cela.
Re: Petite question
Posté : 09 avr. 2012, 17:04
par Roye20
WOW... une vraie machine xTG...
Merci beaucoups..
Roye