Bonjour,
Je me permets de solliciter votre aide pour réaliser en SQL/PHP les scores des équipes puis de les classer.
Victoire : 3 points;
Egalité: 2 points,
Défaite: 1 point puis en cas d'égalité nombre de buts gagnés-nombre de buts encaissés.
J'ai essayé mais je ne parviens pas à réaliser la requete. Voici la structure de ma table,
- equipe(id_equipe, nom_equipe, type)
-tournoi(id_tournoi, nom_tournoi)
-matchs(id_match, resultat_match, date_match, lieu_match, #equipe_dom, #equipe_ext, #id_tournoi)
un exemple d'insertion:
Le champ résultat_match est en varchar donc je convertis comme ceci:
Je sais qu'il y a un problème lorsque le score passe à 2 chiffres mais je cherche à le résoudre actuellement.
Je n'ai pas réussi à obtenir le résultat attendu...
Merci d'avance
Modifié par Cecilia (21 Mar 2009 - 23:51)
Je me permets de solliciter votre aide pour réaliser en SQL/PHP les scores des équipes puis de les classer.
Victoire : 3 points;
Egalité: 2 points,
Défaite: 1 point puis en cas d'égalité nombre de buts gagnés-nombre de buts encaissés.
J'ai essayé mais je ne parviens pas à réaliser la requete. Voici la structure de ma table,
- equipe(id_equipe, nom_equipe, type)
-tournoi(id_tournoi, nom_tournoi)
-matchs(id_match, resultat_match, date_match, lieu_match, #equipe_dom, #equipe_ext, #id_tournoi)
un exemple d'insertion:
INSERT INTO matchs` (`id_match` ,`resultat_match` ,`date_match` ,`lieu_match` ,`equipe_dom` ,`equipe_ext` ,`id_tournoi` )
VALUES (NULL , '5-7', '2009-03-10', 'paris', '10', '4', '1');
Le champ résultat_match est en varchar donc je convertis comme ceci:
CAST(left(resultat_match, 1) as UNSIGNED)
CAST(right(resultat_match, 1) as UNSIGNED)
Je sais qu'il y a un problème lorsque le score passe à 2 chiffres mais je cherche à le résoudre actuellement.
$requete="SELECT*,
CAST(left(resultat_match, 1) as UNSIGNED) as score_dom,
CAST(right(resultat_match, 1) as UNSIGNED) as score_ext from matchs group by id_tournoi, equipe_dom, equipe_ext";
$query=mysql_query($requete) or die(mysql_error() . $requete);
while($row=mysql_fetch_array($query))
{
$a = 0 ;
$score_dom=$row['score_dom'];
$score_ext=$row['score_ext'];
$equipe_dom=$row['equipe_dom'];
$equipe_ext=$row['equipe_ext'];
if($score_dom > $score_ext)
{
$a +=3;
$a1 ++;
$b=$a;
echo $b.' // '.stripslashes($row['equipe_dom']).' // '.stripslashes($row['score_dom']).' </br>' ;
$b1=$a1;
echo $b1.' // '.stripslashes($row['equipe_ext']).' // '.stripslashes($row['score_ext']).' </br>' ;
}
elseif($score_dom < $score_ext)
{
$a +=3;
$a1 ++;
$c=$a;
echo $c.' // '.stripslashes($row['equipe_ext']).' // '.stripslashes($row['score_ext']).' </br>' ;
$c1=$a1;
echo $c1.' // '.stripslashes($row['equipe_dom']).' // '.stripslashes($row['score_dom']).' </br>' ;
}
elseif($score_dom == $score_ext)
{
$a +=2;
$d=$a;
echo $d.' // '.stripslashes($row['equipe_ext']).' // '.stripslashes($row['score_ext']).' </br>' ;
echo $d.' // '.stripslashes($row['equipe_dom']).' // '.stripslashes($row['score_dom']).' </br>' ;
}
}
Je n'ai pas réussi à obtenir le résultat attendu...
Merci d'avance
Modifié par Cecilia (21 Mar 2009 - 23:51)