"); $cat_tournoi=array(); while($cat=mysql_fetch_object($reponse)) { array_push($cat_tournoi, $cat->id_categorie); } //////////////////////// RECHERCHE DES TABLEAUX CREES AVEC LEURS TRANCHES /////////////////////////////////////////////////////// /* Avancement pour chaque categorie */ $avancement=array(); for($i=0;$i"); $existe_cat=mysql_num_rows($reponse); if($existe_cat>0) { /* Controle si un tableau de la catégorie a été modifié */ $requete="SELECT id_tableau FROM tableaux WHERE id_tournoi='$id_tournoi' AND id_categorie='$cat_tournoi[$i]' AND flag_modif='1'"; $reponse=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."
"); $existe=mysql_num_rows($reponse); if($existe==0) { /*$requete="SELECT MAX(avancement) FROM tableaux WHERE id_tournoi='$id_tournoi' AND id_categorie='$cat_tournoi[$i]' AND flag_modif='0'"; $reponse=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."
"); $temp=mysql_fetch_array($reponse); $avan=$temp[0] */ $requete="SELECT id_tableau, MAX(avancement) AS avancement FROM tableaux WHERE id_tournoi='$id_tournoi' AND id_categorie='$cat_tournoi[$i]' AND flag_modif='0' GROUP BY id_tableau"; $reponse=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."
"); } $tab=mysql_fetch_object($reponse); $id_tab=$tab->id_tableau; } /* s'il n'y a pas de tableaux dans la categorie */ else { $id_tab=0; } /* Place le tableau en cours dans le tableau d'avancement (ce tableau suit les catégories */ array_push($avancement, $id_tab); } echo "Categories tournoi :"; print_r($cat_tournoi); echo "
"; echo "Tableau en cours : "; print_r($avancement); echo "
"; //////////////////////////////////////////////////RECHERCHE DES JOUEURS DANS CETTE CATEGORIE///////////////////////////////////// include("constantes.php"); $nb_joueurs_cat=array(); $entrants=array(); for($j=0;$j"); $nb_joueurs_site=mysql_num_rows($reponse); /* Recherche des joueurs inscrits virtuellement sur le site */ $nb_joueurs_virt=0; for($i=$debut_tab;$i>=$fin_tab;$i--) { $requete="SELECT nombre FROM joueurs_virtuels WHERE id_tournoi='$id_tournoi' AND id_categorie='$cat_tournoi[$j]'"; $reponse=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."
"); $temp=mysql_fetch_object($reponse); $nb_joueurs_virt+=$temp->nombre; } /* Recherche des joueurs qualifiés pour ce tableau */ if($avancement[$j]>=1) { $requete="SELECT entrants FROM tableaux WHERE id_tableau='$avancement[$j]'"; $reponse=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."
"); $tmp=mysql_fetch_object($reponse); $tmp2=$tmp->entrants; } else { $tmp2=0; } array_push($entrants, $tmp2); $nb_joueurs=$tmp2+$nb_joueurs_site+$nb_joueurs_virt; array_push($nb_joueurs_cat, $nb_joueurs); } } else { if($avancement[$j]!=0) { $debut_tab=array_search(recup_debut_tranche_tableau($avancement[$j], $db_connection), $tab_classement); $fin_tab=array_search(recup_fin_tranche_tableau($avancement[$j], $db_connection), $tab_classement); /* Recherche des joueurs inscrits sur le site */ $nb_joueurs_site=0; for($i=$debut_tab;$i>=$fin_tab;$i--) { if($tab_classement[$i]=="30/0") { $classement="30";} else if($tab_classement[$i]=="15/0") { $classement="15";} else { $classement=$tab_classement[$i];} $requete="SELECT * FROM inscription_tournoi i, joueur j WHERE id_tournoi='$id_tournoi' AND id_categorie='$cat_tournoi[$j]' AND j.classement='$classement' AND j.id_joueur=i.id_joueur"; $reponse=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."
"); $nb_joueurs_site+=mysql_num_rows($reponse); } /* Recherche des joueurs inscrits virtuellement sur le site */ $nb_joueurs_virt=0; for($i=$debut_tab;$i>=$fin_tab;$i--) { $requete="SELECT nombre FROM joueurs_virtuels WHERE id_tournoi='$id_tournoi' AND id_categorie='$cat_tournoi[$j]' AND classement='$tab_classement[$i]'"; $reponse=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."
"); $temp=mysql_fetch_object($reponse); $nb_joueurs_virt+=$temp->nombre; } /* Recherche des joueurs qualifiés pour ce tableau */ if($avancement[$j]>=1) { $requete="SELECT entrants FROM tableaux WHERE id_tableau='$avancement[$j]'"; $reponse=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."
"); $tmp=mysql_fetch_object($reponse); $tmp2=$tmp->entrants; } else { $tmp2=0; } array_push($entrants, $tmp2); $nb_joueurs=$tmp2+$nb_joueurs_site+$nb_joueurs_virt; array_push($nb_joueurs_cat, $nb_joueurs); } } } echo "Nombre joueurs categorie : "; print_r($nb_joueurs_cat); echo "
"; /* Recupère le débbut et la fin du tournoi */ $requete="SELECT nom, debut, fin, id_club FROM tournoi WHERE id_tournoi='$id_tournoi'"; $reponse=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."
"); $tournoi=mysql_fetch_object($reponse); /************************************************/ /* Nombre de joueurs par classement */ /************************************************/ $nb_joueur_clt=array(); for($j=0;$j=$fin_tab;$i--) { if($tab_classement[$i]=="30/0") { $classement="30";} else if($tab_classement[$i]=="15/0") { $classement="15";} else { $classement=$tab_classement[$i];} $requete="SELECT * FROM inscription_tournoi i, joueur j WHERE i.id_joueur=j.id_joueur AND j.classement='$classement' AND i.id_tournoi='$id_tournoi' AND i.id_categorie='$cat_tournoi[$j]'"; $reponse=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."
"); $joueurs_site=mysql_num_rows($reponse); $requete="SELECT nombre FROM joueurs_virtuels WHERE classement='$tab_classement[$i]' AND id_tournoi='$id_tournoi' AND id_categorie='$cat_tournoi[$j]'"; $reponse=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."
"); $temp=mysql_fetch_object($reponse); $virtuels=$temp->nombre; $nombre=$joueurs_site+$virtuels; $nb_joueur_clt[$j][$tab_classement[$i]]=$nombre; } } } } echo "Nombre joueurs_classement : "; print_r($nb_joueur_clt); echo "
"; /***************************************************/ /* calculs préliminaires au tableau */ /***************************************************/ $calculs=array(); $indice=0; /* Récupère la méthode de calcul pour chaque tableau */ for($i=0;$i"); $tmp=mysql_fetch_object($reponse); $methode=$tmp->methode; $sortants=$tmp->sortants; $entrants=$tmp->entrants; $nb_joueurs=$nb_joueurs_cat[$indice]; if($cat_tournoi[$i]==27 or $cat_tournoi[$i]==27 or $cat_tournoi[$i]==27) { $intermediaire['type']="double"; } else { $intermediaire['type']="simple"; } if($methode==1) { for($j=1;$j<10;$j++) { if(pow(2, $j) > $nb_joueurs) { break; } } $dimension_tab=pow(2, $j); echo "Tableau classique
"; $exempts=$dimension_tab-$nb_joueurs; $ne=$nb_joueurs-$exempts; $npne=($ne)/2; $pre_tour=$npne; $tete_serie=$dimension_tab/4; /* Nombre de compressions */ if ($entrants > $sortants) { $compression=abs($entrants-$sortants); } else { $compression=0; } /* Nombre de couples indissociables */ if($entrants==0){ $couple=$sortants; } else { $couple=$entrants; } $intermediaire['methode']="CLASSIQUE"; $intermediaire['nb_joueurs']=$nb_joueurs; $intermediaire['entrants']=$entrants; $intermediaire['sortants']=$sortants; $intermediaire['dimension']=$dimension_tab; $intermediaire['exempts']=$exempts; $intermediaire['non_exempts']=$ne; $intermediaire['npne']=$npne; $intermediaire['pre_tour']=$pre_tour; $intermediaire['tete_serie']=$tete_serie; $intermediaire['compression']=$compression; $intermediaire['couple']=$couple; } /* Méthode Tableau à sections */ else if($methode==2) { for($j=1;$j<10;$j++) { if($sortants*pow(2, $j) > $nb_joueurs) { break; } } $sections=$sortants; $dimension_tab=$sections*pow(2, $j); echo "Tableau classique sections
"; $exempts=$dimension_tab-$nb_joueurs; $ne=$nb_joueurs-$exempts; $npne=($ne)/2; $pre_tour=$npne; $tete_serie=$dimension_tab/4; if ($entrants > $sortants) { $compression=abs($entrants-$sortants); } else { $compression=0; } if($entrants==0){ $couple=$sortants; } else { $couple=$entrants; } $intermediaire['methode']="SECTIONS"; $intermediaire['nb_joueurs']=$nb_joueurs; $intermediaire['sortants']=$sortants; $intermediaire['entrants']=$entrants; $intermediaire['sections']=$sections; $intermediaire['dimension']=$dimension_tab; $intermediaire['exempts']=$exempts; $intermediaire['non_exempts']=$ne; $intermediaire['npne']=$npne; $intermediaire['pre_tour']=$pre_tour; $intermediaire['tete_serie']=$tete_serie; $intermediaire['compression']=$compression; $intermediaire['couple']=$couple; } /* Methode Entree echelonnee */ else if($methode==3) { echo "Tableau entrée echelonnée
"; for($j=1;$j<10;$j++) { if(pow(2, $j) > $nb_joueurs) { break; } } $dimension_tab=pow(2, $j); echo "Tableau classique
"; $exempts=$dimension_tab-$nb_joueurs; $ne=$nb_joueurs-$exempts; $npne=($ne)/2; $pre_tour=$npne; $tete_serie=$dimension_tab/4; if($entrants > $sortants) { $nb_compressions=$entrants-$sortants; } else { $nb_compressions=0; } if($entrants==0){ $couple=$sortants; } else { $couple=$entrants; } $intermediaire['methode']="ENTREE_ECHELONNEE"; $intermediaire['nb_joueurs']=$nb_joueurs; $intermediaire['sortants']=$sortants; $intermediaire['entrants']=$entrants; $intermediaire['sections']=$sections; $intermediaire['dimension']=$dimension_tab; $intermediaire['exempts']=$exempts; $intermediaire['non_exempts']=$ne; $intermediaire['npne']=$npne; $intermediaire['pre_tour']=$pre_tour; $intermediaire['tete_serie']=$tete_serie; $intermediaire['compression']=$nb_compressions; $intermediaire['couple']=$couple; $intermediaire['couloir']=$sortants; } /* Méthode Tableau Départ en ligne - Final */ else { echo "Tableau final
"; } /* Place les caluls dans le tableau */ array_push($calculs, $intermediaire); $indice++; } } echo "Calculs tableaux : "; print_r($calculs); echo "
"; /*****************************************************************************************/ /* Inscription des categories du tournoi */ /*****************************************************************************************/ $num=0; $texte=""; for($i=0;$i=0;$i--) { $texte.=$tab_classement[$i]." ' CLASSEMENT\n"; $texte_num.=$tab_classement[$i]." VAUT ".$i."\n"; if($tab_classement[$i]=="30/0" or $tab_classement[$i]=="15/0" or $tab_classement[$i]=="mieux") { $nb_serie-=1; } $texte_serie.=$tab_classement[$i]." SERIE_NUMERO ".$nb_serie."\n"; } fwrite($faits, $texte."\n"); fwrite($faits, $texte_num."\n"); fwrite($faits, $texte_serie."\n\n"); /* Insertion dans les faits du nombre de joueurs par classement */ $texte=""; for($j=0;$j=$fin_tab;$i--) { if($nb_joueur_clt[$j][$tab_classement[$i]]>0) { $texte.=$tab_classement[$i]." TABLEAU_".$avancement[$j]." ".$nb_joueur_clt[$j][$tab_classement[$i]]."\n"; } else { $texte.=$tab_classement[$i]." TABLEAU_".$avancement[$j]." 0\n"; } } fwrite($faits, "TABLEAU_".$avancement[$j]." CLASSEMENT_MEILLEUR ".$fin_tab." ; INITIALISATION Au MEILLEUR CLASSMENT Du DECOUPAGE SI ON A MIEUX ON DIMINUERA ;\n"); fwrite($faits, "TABLEAU_".$avancement[$j]." CLASSEMENT_MOINS_BON ".$debut_tab." ; INITIALISATION AU MOINS BON CLASSEMENT DU DECOUPAGE SI ON A MOINS BIEN ON AUGMENTERA ;\n"); fwrite($faits, "CLASSEMENT_ACTUEL ' ".$debut_tab." ; SERT A INDIQUER LE CLASSEMENT EN COURS ;\n"); } } fwrite($faits, $texte."\n"); /*************************************************************************/ /* Créneaux horaires disponibles */ /*************************************************************************/ list($dbt_a, $dbt_m, $dbt_j)=explode("-", $tournoi->debut); list($fin_a, $fin_m, $fin_j)=explode("-", $tournoi->fin); $debut=mktime(9,0,0,$dbt_m, $dbt_j, $dbt_a); $fin=mktime(23,0,0,$fin_m, $fin_j, $fin_a); $nb_jours=(($fin-$debut)/86400)+1; fwrite($faits, "; Creneaux horaires de la journée en cours ;\n"); $creneaux=array(); $nb_creneau=1; $texte=""; list($now_j,$now_m, $now_a)=explode("-",$date_planning); if($now_m<10) {$now_m="0".$now_m;} if($now_j<10) {$now_j="0".$now_j;} /* Créneaux pour la journée en cours */ if($['']<10) { $['']="0".$['']; } for($j=0;$j=$debut and $now<$fin) { $jour=(($now-$debut)/86400)+1; fwrite($faits, "JOUR_COURANT ' ".($jour)." \n"); } else { fwrite($faits, "JOUR_COURANT ' 1 \n"); } fwrite($faits, "DERNIER_JOUR ' ".(int)$nb_jours."\n\n"); //////////////////////////////// Courts disponibles pour la journée en cours ///////////////////////// fwrite($faits,"\n; Courts du Club;\n"); if($protection=='couvert') { $requete="SELECT id_reservable FROM reservable WHERE id_club='$tournoi->id_club' AND protection LIKE 'Couvert'"; } else if($protection=='deux') { $requete="SELECT id_reservable FROM reservable WHERE id_club='$tournoi->id_club'"; } else { $requete="SELECT id_reservable FROM reservable WHERE id_club='$tournoi->id_club' AND protection <> 'Couvert'"; } $reponse=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."
"); $nb=mysql_num_rows($reponse); $texte=""; $courts=array(); /* Controle si le nombre choisi par le juge arbitre est bon */ if($nb_courts_ouverts>$nb) { $nb_courts_ouverts=$nb; } for($i=0;$i<$nb_courts_ouverts;$i++) { $court=mysql_fetch_object($reponse); $texte.="COURT_".$court->id_reservable." ' COURT\n"; array_push($courts, $court->id_reservable); } fwrite($faits, $texte."\n\n"); ///////////////////// Creneaux disponibles pour les terrains pour la journée demandée - A FAIRE ///////////////////////////// $texte="; Indique la disponibilite des terrains ;\n"; $annee=date("Y"); for($i=0;$i"; $reponse=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."
"); $existe=mysql_num_rows($reponse); /* Si le terrain est libre à cette heure-ci */ if($existe==0) { $texte.="COURT_".$courts[$i]." LIBRE ".$creneaux[$j]." \n"; } } } fwrite($faits, $texte."\n\n"); ///////////////////////////////RECHERCHE DES JOUEURS QUALIFIES//////////////////////////// $tour_courant=1; $nb_joueur=0; $qualif=array(); $indice=0; for($j=0;$j"); $nb_tableau=mysql_num_rows($reponse); if($nb_tableau > 0) { $res=mysql_fetch_object($reponse); $avt=$res->avancement; $entrants=$res->entrants; } /* si le nombre de qualifiés est > 0, on récupère les qualifiés du tableau precedent */ if($entrants > 0 /*and $avt > 1 */){ //$requete="SELECT r.id_vainqueur, j.classement FROM tableau_tournoi t, reservation r, joueur j WHERE t.id_categorie = '$categorie' AND t.id_tournoi='$id_tournoi' AND t.avancement='$avt' AND t.id_reservation=r.id_reservation AND j.id_joueur=r.id_vainqueur"; //$reponse=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."
"); //while ($reptab=mysql_fetch_array($reponse)){ for($i=0;$i<$entrants;$i++) { $id_joueur=$['']; $requete="SELECT id_equipe,id_joueur1, id_joueur2 FROM equipes_double WHERE (id_joueur1='$id_joueur' OR id_joueur2='$id_joueur') AND id_categorie='$cat_tournoi[$j]' AND id_tournoi='$id_tournoi'"; $repons=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."
"); $equipe=mysql_fetch_object($repons); $ligne=""; $ligne.="EQUIPE_Q".$i." ' QUALIFIE\n"; $ligne.="EQUIPE_Q".î." COMPOSEE_DE JOUEUR_".$equipe->id_joueur1."\n"; $ligne.="EQUIPE_Q".î." COMPOSEE_DE JOUEUR_".$equipe->id_joueur2."\n"; array_push($qualif, $i/*$equipe->id_equipe*/); fwrite($faits, $ligne."\n"); } } } $indice++; } /* Sinon tableaux de simple */ else { if($avancement[$j]!=0) { $requete="SELECT entrants, avancement FROM tableaux WHERE id_tableau='$avancement[$j]'"; $reponse=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."
"); $nb_tableau=mysql_num_rows($reponse); if($nb_tableau > 0) { $res=mysql_fetch_object($reponse); $avt=$res->avancement; $entrants=$res->entrants; } /* si le nombre de qualifiés est > 0, on récupère les qualifiés du tableau precedent */ if($entrants > 0 /*and $avt > 1 */){ //$requete="SELECT r.id_vainqueur, j.classement FROM tableau_tournoi t, reservation r, joueur j WHERE t.id_categorie = '$categorie' AND t.id_tournoi='$id_tournoi' AND t.avancement='$avt' AND t.id_reservation=r.id_reservation AND j.id_joueur=r.id_vainqueur"; //$reponse=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."
"); //while ($reptab=mysql_fetch_array($reponse)){ for($i=0;$i<$entrants;$i++) { $ligne=""; $ligne.="JOUEUR_Q".$i." ' QUALIFIE\n"; $ligne.="JOUEUR_Q".$i/*reptab[id_vainqueur]*/." JOUE_TABLEAU TABLEAU_".$avancement[$j]."\n"; if($['']=="30") { $ligne.="JOUEUR_".$['']." EST_CLASSE 30/0\n"; } else if($['']=="15") { $ligne.="JOUEUR_".$['']." EST_CLASSE 15/0\n"; } else { $ligne.="JOUEUR_Q".$i/*reptab[id_vainqueur]*/." EST_CLASSE "./*$['']*/NC."\n"; } $ligne.="JOUEUR_Q".$i/*reptab[id_vainqueur]*/." LICENCE_CLUB ".$i."\n"; array_push($qualif, $i/*$['']*/); fwrite($faits, $ligne."\n"); } } fwrite($faits,"TABLEAU_".$avancement[$j]." NB_QUALIFIES_ENTRANTS ".$entrants."\n\n"); } $indice++; } } echo "qualif : ";print_r($qualif);echo "\n"; /***************************************************************************************/ /* RECHERCHE DES JOUEURS QUI VONT ENTRER DANS LE TOURNOI site et virtuels) */ /***************************************************************************************/ fwrite($faits, "; Noms des joueurs, classement ;\n"); $indice=0; $joueurs=array(); $equipes=array(); $num_virt=0; for($j=0;$j 0) { $nb_joueur_tour1=$pre_tour; } else { $nb_joueur_tour1=0; } /* joueurs virtuels */ $requete="SELECT * FROM joueurs_virtuels WHERE id_tournoi='$id_tournoi' AND id_categorie='$cat_tournoi[$j]' AND classement='$tab_classement[$i]'"; $reponse=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."
"); while($virtuel=mysql_fetch_object($reponse)) { $nb=$virtuel->nombre; for($cpt=0;$cpt<$nb;$cpt++) { $ligne=""; $ligne.="EQUIPE_V".$num_virt." ' EQUIPE\n"; $ligne.="EQUIPE_V".$num_virt." JOUE_TABLEAU TABLEAU_".$avancement[$j]."\n"; $ligne.="EQUIPE_V".$num_virt." EST_CLASSE ".$tab_classement[$i]."\n"; $ligne.="EQUIPE_V".$num_virt." LICENCE_CLUB ".$num_virt."\n"; array_push($equipes, "V".$num_virt); $num_virt+=1; fwrite($faits, $ligne."\n"); } } /* Joueurs inscrits au site */ $requete="SELECT e.id_equipe, e.id_joueur1, e.id_joueur2, j.classement FROM equipes_double e, joueur j WHERE i.id_categorie='$cat_tournoi[$j]' AND i.id_tournoi='$id_tournoi' AND i.id_joueur=j.id_joueur"; $repons=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."
"); while($ids_equipes=mysql_fetch_array($repons)) { $ligne=""; $requete="SELECT classement FROM joueur WHERE id_joueur='$['']'"; $rep=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."
"); $joueur2=mysql_fetch_array($rep); $ligne.="EQUIPE_".$['']." ' EQUIPE\n"; $ligne.="EQUIPE_".$['']." JOUE_TABLEAU TABLEAU_".$avancement[$j]."\n"; $ligne.="EQUIPE_".$['']." COMPOSEE_DE JOUEUR_".$['']."\n"; $ligne.="EQUIPE_".$['']." COMPOSEE_DE JOUEUR_".$['']."\n"; if($['']=="30") {$['']="30/0"; } if($['']=="15") {$['']="15/0"; } if($['']=="30") {$['']="30/0"; } if($['']=="15") {$['']="15/0"; } /* Recherche des nombres de points par classement */ $pt1=array_search($[''], $tab_classement); $pt1=array_search($[''], $tab_classement); $points=$pt1+$pt2; $ligne.="EQUIPE_".$['']." NOMBRE_POINTS ".$points."\n"; array_push($equipes, $['']); fwrite($faits, $ligne."\n"); } } $indice++; } /* Tableaux de simples */ else { if($avancement[$j]!=0) { $pre_tour=$calculs[$indice]['pre_tour']; $nb_joueurs_tour=$pre_tour*2; if($calculs[$indice]['entrants'] > 0) { $nb_joueur_tour1=$pre_tour; } else { $nb_joueur_tour1=0; } $debut_tab=array_search(recup_debut_tranche_tableau($avancement[$j], $db_connection), $tab_classement); $fin_tab=array_search(recup_fin_tranche_tableau($avancement[$j], $db_connection), $tab_classement); for($i=$debut_tab;$i>=$fin_tab;$i--) { /* joueurs virtuels */ $requete="SELECT * FROM joueurs_virtuels WHERE id_tournoi='$id_tournoi' AND id_categorie='$cat_tournoi[$j]' AND classement='$tab_classement[$i]'"; $reponse=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."
"); while($virtuel=mysql_fetch_object($reponse)) { $nb=$virtuel->nombre; for($cpt=0;$cpt<$nb;$cpt++) { $ligne=""; $ligne.="JOUEUR_V".$num_virt." ' JOUEUR\n"; $ligne.="JOUEUR_V".$num_virt." JOUE_TABLEAU TABLEAU_".$avancement[$j]."\n"; $ligne.="JOUEUR_V".$num_virt." EST_CLASSE ".$tab_classement[$i]."\n"; $ligne.="JOUEUR_V".$num_virt." LICENCE_CLUB ".$num_virt."\n"; array_push($joueurs, "V".$num_virt); $num_virt+=1; fwrite($faits, $ligne."\n"); } } /* Joueurs inscrits au site */ if($tab_classement[$i]=="30/0") { $classement="30";} else if($tab_classement[$i]=="15/0") { $classement="15";} else { $classement=$tab_classement[$i];} $requete="SELECT i.id_joueur, j.classement FROM inscription_tournoi i, joueur j WHERE i.id_categorie='$cat_tournoi[$j]' AND i.id_tournoi='$id_tournoi' AND i.id_joueur=j.id_joueur AND j.classement='$classement'"; $repons=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."
"); while($ids_joueurs=mysql_fetch_array($repons)) { $ligne=""; $ligne.="JOUEUR_".$['']." ' JOUEUR\n"; $ligne.="JOUEUR_".$['']." JOUE_TABLEAU TABLEAU_".$avancement[$j]."\n"; if($['']=="30") {$['']="30/0"; } if($['']=="15") {$['']="15/0"; } $ligne.="JOUEUR_".$['']." EST_CLASSE ".$['']."\n"; /* Dértermine le club du joueur */ $temp=utf8_decode("MembreLicencié"); $requete="SELECT id_club FROM compte WHERE statut='$temp' AND id_joueur='$['']'"; $reponse=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."
"); $id_club=mysql_fetch_object($reponse); $ligne.="JOUEUR_".$['']." LICENCE_CLUB ".$id_club->id_club."\n"; array_push($joueurs, $['']); fwrite($faits, $ligne."\n"); } } $indice++; } } } print_r($joueurs); $indice=0; for($j=0;$j 0) fwrite($faits, "TABLEAU_".$avancement[$j]." NB_JOUEUR_TOUR_1 ".($entrants*2)."\n\n"); else fwrite($faits, "TABLEAU_".$avancement[$j]." NB_JOUEUR_TOUR_1 ".($couple*2)."\n\n"); if($entrants==0) fwrite($faits, "TABLEAU_".$avancement[$j]." NB_JOUEUR_TOUR_2 ".(count($joueurs)-($couple*2))."\n\n"); else fwrite($faits, "TABLEAU_".$avancement[$j]." NB_JOUEUR_TOUR_2 ".(count($joueurs)-$entrants)."\n\n"); } $indice++; } } /****************************************/ /* Affectation des tetes de série */ /****************************************/ $indice=0; $ts=1; $comp=0; fwrite($faits, "; Placement des tetes de serie ;\n"); for($j=0;$j"); while($ids_joueurs=mysql_fetch_object($reponse)) { /* Recup des jours et des heures */ echo $joueurs[$cpt]."
"; $travaille=strtoupper($ids_joueurs->travaille); $heures_dispos_joueur.="JOUEUR_".$joueurs[$cpt]." TRAVAILLE ".$travaille." \n"; list($jour,$mois,$annee)=explode("-",$date_planning); $date="$annee-$mois-$jour"; $requete="SELECT jour, heure FROM contraintes WHERE id_inscription='$ids_joueurs->id_inscription' AND jour='$date' AND type='simple' ORDER BY jour, heure ASC"; $reponse1=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."
"); /* Place les creneaux horaires où le joueur est dispo dans le fichier */ while($dispo=mysql_fetch_object($reponse1)) { list($a, $m, $j)=explode("-",$dispo->jour); list($h, $min, $sec)=explode(":",$dispo->heure); $texte=$j.$m."_".$h.$min; $heures_dispos_joueur.="JOUEUR_".$joueurs[$cpt]." DISPONIBLE_CRENEAU ".$texte." \n"; } } } fwrite($faits, $heures_dispos_joueur."\n"); /***********************************************************/ /* Disponibilités des équipes */ /***********************************************************/ fwrite($faits, "; Disponibilités des équipes durant le tournoi;\n"); $heures_dispos_joueur=""; for($cpt=0;$cpt"); while($ids_joueurs=mysql_fetch_object($reponse)) { /* Recup des jours et des heures */ $travaille_1=strtoupper($ids_joueurs->travaille_1); $travaille_1=strtoupper($ids_joueurs->travaille_2); $heures_dispos_joueur.="JOUEUR_".$ids_joueurs->id_joueur1." TRAVAILLE ".$travaille_1." \n"; $heures_dispos_joueur.="JOUEUR_".$ids_joueurs->id_joueur2." TRAVAILLE ".$travaille_2." \n"; list($jour,$mois,$annee)=explode("-",$date_planning); $date="$annee-$mois-$jour"; $requete="SELECT jour, heure FROM contraintes WHERE id_inscription='$ids_joueurs->id_equipe' AND jour='$date' AND type='double' ORDER BY jour, heure ASC"; $reponse1=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."
"); /* Place les creneaux horaires où le joueur est dispo dans le fichier */ while($dispo=mysql_fetch_object($reponse1)) { list($a, $m, $j)=explode("-",$dispo->jour); list($h, $min, $sec)=explode(":",$dispo->heure); $texte=$j.$m."_".$h.$min; $heures_dispos_joueur.="EQUIPE_".$joueurs[$cpt]." DISPONIBLE_CRENEAU ".$texte." \n"; } } } fwrite($faits, $heures_dispos_joueur."\n"); /**********************************************************/ /* Matchs non programmés */ /**********************************************************/ for($j=0;$j"); while($match=mysql_fetch_object($reponse)) { /* Joueur 1 */ /* Controle du type de joueur */ if($match->type_joueur=='site') { $joueur1="JOUEUR_"; } else if($match->type_joueur=='vainqueur') { $joueur1="VAINQUEUR_".($match->nb_tour-1)."_"; } else if($match->type_joueur=='virtuel') { $joueur1="JOUEUR_V"; } $joueur1.=$id_joueur; /* Joueur 1 */ /* Controle du type de joueur */ if($match->type_adverse=='site') { $joueur2="JOUEUR_"; } else if($match->type_adverse=='vainqueur') { $joueur2="VAINQUEUR_".($match->nb_tour-1)."_"; } else if($match->type_adverse=='virtuel') { $joueur2="JOUEUR_V"; } $joueur2.=$id_adverse; $texte.="TABLEAU_".$avancement[$j]." ".$joueur1." JOUE ".$joueur2." VAINQUEUR_".($match->nb_tour)."_".($match->num_couloir)."\n"; } fwrite($faits, $texte."\n"); } } /**********************************************************/ /* Disponibilités des joueurs durant le tournoi */ /**********************************************************/ for($cpt=0;$cpt"; echo "lancement des moteurs systeme expert pour création des tableaux et plannings.
"; $file="tab"; $dir="cer/tab/"; echo exec("./cer/compil -rf 1 bcc=".$dir.$file.".bcc reg=".$dir.$file.".reg fts=".$dir.$file.".fai err=".$dir.$file.".err1 m=n"); //echo exec("./cer/moteur bcc=".$dir.$file.".bcc fts=".$dir.$file.".fai res=".$dir.$file.".res err=".$dir.$file.".err2 t=4 s=c m=n"); echo "


"; $env=fopen("./cer/tab/test.env","r"); /* Type des faits générés par le système expert : */ /* TABLEAU_ID JOUEUR/EQUIPE_ID JOUE JOUEUR/EQUIPE_ID VAINQUEUR VQ_TOUR_NUM COURT COURT_ID CRENEAU JJMM_HHMM (match programme) */ /* TABLEAU_ID JOUEUR/EQUIPE_ID JOUE JOUEUR/EQUIPE_ID VAINQUEUR VQ_TOUR_NUM COURT (match non programmee - plus de creneaux dispo) */ $matches=array(); while(!feof($env)){ /* Lecture de 2 lignes dans le fichier */ $ligne=fgets($env); $ligne2=fgets($env); if($ligne != "") { /* Création d'un nouveau match */ $match=array(); /* Recupère les données du match */ list($tableau,$joueur1,$attribut1,$joueur2,$attribut2,$vainqueur,$attribut3, $court)=explode(" ",$ligne); list($rien, $attribut4, $creneau)=explode(" ",$ligne2); echo "$tableau, $joueur1,$joueur2,$vainqueur, $court,$creneau
"; /* Réupère le tableau */ list($rien, $id_tableau)=explode("_", $tableau); $['']=(int)$id_tableau; /* Recupère le type et l'id du joueur 1 */ list($joueur,$type_joueur1,$num_couloir)=explode("_",$joueur1); //echo $type_joueur1."
"; //echo strpos($type_joueur1,"V")."
"; if($joueur=="VQ") { $['']="vainqueur"; $['']=$num_couloir; } else if(strpos($type_joueur1,"Q")===0) { $['']="site"; $['']=intval(substr($type_joueur1,1)); } else if(strpos($type_joueur1,"V")===0) { $['']="virtuel"; $['']=intval(substr($type_joueur1,1)); } else { $['']="site"; $['']=intval($type_joueur1); } /* Recupère le type et l'id du joueur 2 */ list($joueur,$type_joueur2,$num_couloir)=explode("_",$joueur2); if($joueur=="VQ") { $['']="vainqueur"; $['']=$num_couloir; } else if(strpos($type_joueur2,'Q')===0) { $['']="site"; $['']=intval(substr($type_joueur2,1)); } else if(strpos($type_joueur2,'V')===0) { $['']="virtuel"; $['']=intval(substr($type_joueur2,1)); } else { $['']="site"; $['']=intval($type_joueur2); } /* Recupere le vainqueur */ list($rien,$num_tour,$num_couloir)=explode("_",$vainqueur); $['']=intval($num_tour); $['']=intval($num_couloir); /* Recupère le numero du court et le créneau où le match a lieu s'il est programmé*/ if($court!=" ") { list($rien, $id_court)=explode("_",$court); list($date, $heure)=explode("_",$creneau); $jour=substr($date,0,2); $mois=substr($date,2,2); $h=substr($heure,0,2); $m=substr($heure,2,2); $annee=date("Y"); $['']=intval($id_court); $['']="$jour/$mois/$annee"; $['']="$h:$m"; } array_push($matches, $match); } } //print_r($matches); /* Enregistrement des matchs en base */ include ("enregistrementMatch.php"); function recup_debut_tranche_tableau($id_tableau, $db_connection) { $requete="SELECT debut_tranche FROM tableaux WHERE id_tableau='$id_tableau'"; $reponse=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."
"); $res=mysql_fetch_object($reponse); return $res->debut_tranche; } function recup_fin_tranche_tableau($id_tableau, $db_connection) { $requete="SELECT fin_tranche FROM tableaux WHERE id_tableau='$id_tableau'"; $reponse=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."
"); $res=mysql_fetch_object($reponse); return $res->fin_tranche; } ?>