Calendrier football
Posté : 17 nov. 2014, 11:10
Bonjour, je veux créer un algorithme de football a partir d'une table clubs
j'ai déja travailler un peux voila ou j'en suis je voulais créer tous les match aller ensuite pour le retour ca sera facile.
Merci de votre aide.
CREATE TABLE clubs(
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
nom VARCHAR(255),
PRIMARY KEY (id));
remplir une table calendrier
CREATE TABLE calendrier(
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
journee INT(10) UNSIGNED,
equipe1 INT(10) UNSIGNED,
equipe2 INT(10) UNSIGNED,
PRIMARY KEY (id),
CONSTRAINT clubs_calendrier_equipe1 FOREIGN KEY (equipe1) REFERENCES clubs(id) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT clubs_calendrier_equipe2 FOREIGN KEY (equipe2) REFERENCES clubs(id) ON DELETE CASCADE ON UPDATE CASCADE);
je veux que chaque equipe joue contre tous les autres 2 fois et chaque jour chaque equipe ne peux jouer que un seul match,j'ai déja travailler un peux voila ou j'en suis je voulais créer tous les match aller ensuite pour le retour ca sera facile.
$req1=$bd2->prepare("SELECT id,nom FROM clubs");
$req1->execute();
$donnees1=$req1->fetchAll(PDO::FETCH_ASSOC);
$nb_equipes=$req1->rowCount();
$nb_journee=($nb_equipes-1)*2;
$nb_matchs=(($nb_equipes-1)*2)*$nb_equipes/2;
$i=1;
$k=0;
while($i<=$nb_journee/2)
{
for($j=0;$j<$nb_equipes/2;$j++)
{
$req2=$bd2->prepare("SELECT journee,equipe1,equipe2 FROM calendrier WHERE journee=:journee AND equipe1=:equipe1 AND equipe2=:equipe2");
$req2->execute(array(
"journee"=>$i,
"equipe1"=>$donnees1[$k]["id"],
"equipe2"=>$donnees1[$k+1]["id"]
));
if($donnees2=$req2->fetch(PDO::FETCH_ASSOC))
{
$k=$k+2;
$req2=$bd2->prepare("INSERT INTO calendrier(journee,equipe1,equipe2)VALUES(:journee,:equipe1,:equipe2)");
$req2->execute(array(
"journee"=>$i,
"equipe1"=>$donnees1[$k]["id"],
"equipe2"=>$donnees1[$k+1]["id"]
));
}
else
{
$req2=$bd2->prepare("INSERT INTO calendrier(journee,equipe1,equipe2)VALUES(:journee,:equipe1,:equipe2)");
$req2->execute(array(
"journee"=>$i,
"equipe1"=>$donnees1[$k]["id"],
"equipe2"=>$donnees1[$k+1]["id"]
));
}
}
$k=0;
$temp=$donnees1[1]["id"];
$temp2=$donnees1[1]["nom"];
for($l=1;$l<$nb_equipes-1;$l++)
{
$donnees1[$l]["id"]=$donnees1[$l+1]["id"];
$donnees1[$l]["nom"]=$donnees1[$l+1]["nom"];
}
$donnees1[$nb_equipes-1]["id"]=$temp;
$donnees1[$nb_equipes-1]["nom"]=$temp2;
$i++;
}
Mon problème c'est ca commence bien les 2premières journée après je trouve des doublonsMerci de votre aide.