264 lines
11 KiB
PHP
Executable File
264 lines
11 KiB
PHP
Executable File
<?php
|
|
// Modif Ok - Recherche la liste des matchs du dernier tour de id_tableau */
|
|
function rechercheMatchDernierTour($id_tableau){
|
|
//echo "rechercheMatchDernierTour<br>";///////////////////////////////////MOUCHARD
|
|
include("conf.php");
|
|
include("mysql_compat.php");
|
|
include ("conf.php");
|
|
$db_connection=mysql_connect($db_host,$db_user,$password);
|
|
mysql_select_db($db_name,$db_connection);
|
|
$requete="SELECT MAX(tour) FROM `Matchs_tableaux` WHERE id_tableau='$id_tableau'";
|
|
//echo $requete;
|
|
$reponse=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."<br>");
|
|
$reptab=mysql_fetch_array($reponse);
|
|
$tour=$reptab[0];
|
|
//echo "dernier tour=$tour<br />";
|
|
//echo "avencement".$avencement."<br>";///////////////////////////////////MOUCHARD
|
|
$requete="SELECT id_match FROM `Matchs_tableaux` WHERE id_tableau='$id_tableau' AND tour='$tour'";
|
|
$reponse=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."<br>");
|
|
while($reptab=mysql_fetch_array($reponse)){
|
|
$liste_match[]=$[''];
|
|
echo "matchDernierTour trouve : ".$['']."<br>";///////////////////////////////////MOUCHARD
|
|
}
|
|
mysql_close($db_connection);
|
|
return $liste_match;
|
|
}
|
|
/* Retourne les ids des matchs précédent s'il y en a */
|
|
function rechercheMatchsTourPrecedent($id_match){
|
|
include("conf.php");
|
|
include("mysql_compat.php");
|
|
include ("conf.php");
|
|
$db_connection=mysql_connect($db_host,$db_user,$password);
|
|
mysql_select_db($db_name,$db_connection);
|
|
$requete="SELECT id_tableau, type_joueur, id_joueur, type_adverse, id_adverse, num_couloir, tour FROM `Matchs_tableaux` WHERE id_match='$id_match' ;";
|
|
$reponse=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."<br>");
|
|
$reptab=mysql_fetch_array($reponse);
|
|
/* On regarde si le joueur a joué un match au tour precedent */
|
|
$liste_match[]=$[''];
|
|
if($['']=="site" or $['']=="vainqueur") {
|
|
$tour=$['']-1;
|
|
$requete="SELECT id_match FROM Matchs_tableaux WHERE id_tableau='$['']' AND tour='$tour' AND (id_joueur='$['']' OR id_adverse='$['']')";
|
|
$reponse=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."<br>");
|
|
$existe=mysql_num_rows($reponse);
|
|
if($existe>0) {
|
|
$id=mysql_fetch_object($reponse);
|
|
$liste_match[]=$id->id_match;
|
|
}
|
|
else {
|
|
$liste_match[]=0;
|
|
}
|
|
}
|
|
else {
|
|
$liste_match[]=0;
|
|
}
|
|
/* On regarde si l'adversaire a joué un match au tour precedent */
|
|
$liste_match[]=$[''];
|
|
if($['']=="site" or reptab[type_adverse]=="vainqueur") {
|
|
$tour=$['']-1;
|
|
$requete="SELECT id_match FROM Matchs_tableaux WHERE id_tableau='$['']' AND tour='$tour' AND (id_joueur='$['']' OR id_adverse='$['']')";
|
|
$reponse=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."<br>");
|
|
$existe=mysql_num_rows($reponse);
|
|
if($existe>0) {
|
|
$id=mysql_fetch_object($reponse);
|
|
$liste_match[]=$id->id_match;
|
|
}
|
|
else {
|
|
$liste_match[]=0;
|
|
}
|
|
}
|
|
else {
|
|
$liste_match[]=0;
|
|
}
|
|
mysql_close($db_connection);
|
|
return $liste_match;
|
|
}
|
|
/* Recherche les infos concernant le matchs passé en param */
|
|
function rechercheInfoMatch($id_match){
|
|
//echo "rechercheInfoMatch(".$id_match.")<br>";///////////////////////////////////MOUCHARD
|
|
include("conf.php");
|
|
include("mysql_compat.php");
|
|
include ("conf.php");
|
|
$db_connection=mysql_connect($db_host,$db_user,$password);
|
|
mysql_select_db($db_name,$db_connection);
|
|
echo $id_match;
|
|
$requete="SELECT * FROM `Matchs_tableaux` WHERE id_match='$id_match';";
|
|
$reponse=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."<br>");
|
|
$reptab=mysql_fetch_array($reponse);
|
|
$tour=$[''];
|
|
// Recherche des infos pour le joueur inscrit sur le site
|
|
if ($['']=="site"){
|
|
////////////////////////////////////////////RECHERCHE DES INFO SUR LE JOUEUR 1///////////////////////////////////////////////
|
|
$requete2="SELECT nom, prenom, classement FROM `joueur` WHERE id_joueur = '$['']'";
|
|
$reponse2=mysql_query($requete2,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."<br>");
|
|
$reptab2=mysql_fetch_array($reponse2);
|
|
//echo $requete2;
|
|
$['']=strtoupper($['']);
|
|
$info[0]="*".$['']." ".$['']." <br><b> ".$[''];
|
|
//echo $info[0]."**";
|
|
}
|
|
/////////////////////SI JOUEUR 1 VAINQUEUR TOUR PRECEDENT ////////////////////////////////////
|
|
else if($['']=="vainqueur") {
|
|
//echo "vainqueur";
|
|
// Recherche du numero de couloir
|
|
$couloir=$[''];
|
|
$tour=$['']-1;
|
|
// Recherche de la resa
|
|
/*if($['']!=0) {
|
|
$requete2="SELECT j.nom, j.prenom, j.classement FROM joueur j, Matchs_tableaux m WHERE (m.id_joueur=j.id_joueur OR m.id_adverse=j.id_joueur) AND m.tour='$tour' AND id_tableau='$['']' AND num_couloir='$couloir'";
|
|
$reponse2=mysql_query($requete2,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."<br>");
|
|
$reptab2=mysql_fetch_array($reponse2);
|
|
$info[0]="*".$['']." ".$['']." : ".$[''];
|
|
}
|
|
else {*/
|
|
$info[0]="Vainqueur couloir ".$couloir;
|
|
//}
|
|
}
|
|
// Si le joueur est virtuel
|
|
else if($['']=="virtuel") {
|
|
$num_virt=$[''];
|
|
$class=ClassVirtuel($num_virt, $['']);
|
|
$info[0]="Joueur Virtuel classement ".$class;
|
|
}
|
|
////////////////////////////////SI JOUEUR 2 ENTRE A CE TOUR///////////////////////////////////
|
|
if ($['']=="site"){
|
|
////////////////////////////////////////////RECHERCHE DES INFO SUR LE JOUEUR 1///////////////////////////////////////////////
|
|
$requete2="SELECT nom, prenom, classement FROM `joueur` WHERE id_joueur = '$['']'";
|
|
$reponse2=mysql_query($requete2,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."<br>");
|
|
$reptab2=mysql_fetch_array($reponse2);
|
|
//echo $requete2;
|
|
$['']=strtoupper($['']);
|
|
$info[0]="*".$['']." ".$['']." <br><b> ".$[''];
|
|
|
|
}
|
|
/////////////////////SI JOUEUR 2 VAINQUEUR TOUR PRECEDENT ////////////////////////////////////
|
|
else if($['']=="vainqueur") {
|
|
// Recherche du numero de couloir
|
|
$couloir=$[''];
|
|
$tour=$['']-1;
|
|
// Recherche de la resa
|
|
/*if($['']!=0) {
|
|
$requete2="SELECT j.nom, j.prenom, j.classement FROM joueur j, Matchs_tableaux m WHERE (m.id_joueur=j.id_joueur OR m.id_adverse=j.id_joueur) AND m.tour='$tour' AND id_tableau='$['']' AND num_couloir='$couloir'";
|
|
$reponse2=mysql_query($requete2,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."<br>");
|
|
$reptab2=mysql_fetch_array($reponse2);
|
|
$info[1]="*".$['']." ".$['']." : ".$[''];
|
|
}
|
|
else {*/
|
|
$info[1]="Vainqueur couloir ".$couloir;
|
|
//}
|
|
}
|
|
// Si le joueur est virtuel
|
|
else if($['']=="virtuel") {
|
|
$num_virt=$[''];
|
|
$class=ClassVirtuel($num_virt, $['']);
|
|
$info[1]="Joueur Virtuel classement ".$class;
|
|
}
|
|
// Vainqueur du match s'il y en a un - jour et heure du match
|
|
if($['']!=0) {
|
|
$requete="SELECT r.date_resa, r.heure_resa_deb, j.nom, j.prenom, r.score FROM reservation r, joueur j WHERE id_reservation='$['']' AND r.vainqueur=j.id_joueur";
|
|
$reponse2=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."<br>");
|
|
$resa=mysql_fetch_array($reponse);
|
|
$info[2]=strtoupper($[''])." ".$['']."-".$[''];
|
|
$jour_exp=explode("-",$['']);
|
|
$date_traitee=mktime(10,0,0,$jour_exp[3],$jour_exp[2],$jour_exp[1]);
|
|
setlocale(LC_TIME, "fr");
|
|
$jour_affiche=strftime("%A %e %B",$date_traitee);
|
|
$info[3]="*".$jour_affiche." ".$[''];
|
|
}
|
|
else {
|
|
$info[2]="";
|
|
$info[3]="";
|
|
}
|
|
mysql_close($db_connection);
|
|
return $info;
|
|
}
|
|
/* Fonction de lancement des calculs */
|
|
function remplirTableauxRecursivement($id_tableau){
|
|
//////////////////////////////////////////////////RECHERCHE INFO SUR LA CATEGORIE////////////////////////////////////
|
|
//echo "remplirTableauxRecursivement<br>";///////////////////////////////////MOUCHARD
|
|
/* Recherche la liste des match au dernier tour */
|
|
echo $id_tableau." ";
|
|
$list_match=rechercheMatchDernierTour($id_tableau);
|
|
for ($i=0;$i<1/*count($list_match)*/;$i++){
|
|
//echo "qualifie ".$i."<br>";///////////////////////////////////MOUCHARD
|
|
//echo $list_match[$i]."<br />";
|
|
recurcivite($list_match[$i],$i,0);
|
|
}
|
|
//return count($list_match);
|
|
}
|
|
|
|
/* Recursivité - Part du dernier tour et va jusqu'au premier tour */
|
|
function recurcivite($id_match,$i,$rang) {
|
|
//echo "match ".$rang."-".$i." : ".$id_match."<br>";
|
|
global $tab_inverse;
|
|
global $result_inverse;
|
|
global $time_inverse;
|
|
echo $id_match."<br />";
|
|
$info=rechercheInfoMatch($id_match);
|
|
$tab_inverse[$rang][2*$i]=$info[0];echo "tab_inverse[".$rang."][".(2*$i)."] =".$tab_inverse[$rang][2*$i]."<br>";
|
|
$tab_inverse[$rang][2*$i+1]=$info[1];echo "tab_inverse[".$rang."][".(2*$i+1)."] =".$tab_inverse[$rang][2*$i+1]."<br>";
|
|
$result_inverse[$rang][2*$i]=$info[2];
|
|
$time_inverse[$rang][2*$i]=$info[3];echo "time_inverse[".$rang."][".(2*$i)."] =".$time_inverse[$rang][2*$i]."<br>";
|
|
////////////////////////////////////////////////////////////////rechercher score, horaires
|
|
//$matchsTourPrecedent=rechercheMatchsTourPrecedent($id_match);
|
|
/* Si le joueur est vainqueur d'un match précédent, rechercher son match */
|
|
if ($matchsTourPrecedent[0]=="vainqueur"){
|
|
$id_match_pdt=$matchsTourPrecedent[1];
|
|
//recurcivite($id_match_pdt,2*$i,$rang+1);
|
|
}
|
|
/* Si le'adverse est vainqueur d'un match précédent, rechercher son match */
|
|
if ($matchsTourPrecedent[2]=="vainqueur"){
|
|
$id_match_pdt=$matchsTourPrecedent[3];
|
|
//recurcivite($id_match_1pdt,2*$i+1,$rang+1);
|
|
}
|
|
}
|
|
|
|
// Recherche classement joueur virtuel
|
|
function ClassVirtuel($num_virt, $id_tableau) {
|
|
$virt=0;
|
|
$class="";
|
|
include("conf.php");
|
|
include("mysql_compat.php");
|
|
include ("conf.php");
|
|
include ("constantes.php");
|
|
$db_connection=mysql_connect($db_host,$db_user,$password);
|
|
mysql_select_db($db_name,$db_connection);
|
|
$requete="SELECT id_tournoi, id_categorie, debut_tranche, fin_tranche FROM tableaux WHERE id_tableau='$id_tableau'";
|
|
$reponse=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."<br>");
|
|
$tableau=mysql_fetch_object($reponse);
|
|
$debut=array_search($tableau->debut_tranche, $tab_classement);
|
|
$fin=array_search($tableau->fin_tranche, $tab_classement);
|
|
for($i=$fin;$i>=$debut;$i--) {
|
|
$requete="SELECT nombre FROM joueurs_virtuels WHERE id_tournoi='$tableau->id_tournoi' AND id_categorie='$tableau->id_categorie' AND classement='$tab_classement[$i]'";
|
|
$reponse=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."<br>");
|
|
$temp=mysql_fetch_array($reponse);
|
|
$virt+=$[''];
|
|
// Si le joueur virtuel est dans ce classement
|
|
if($num_virt<$virt and $class=="") {
|
|
$class=$tab_classement[$i];
|
|
break;
|
|
}
|
|
}
|
|
return $class;
|
|
}
|
|
|
|
/* Fonction d'inversion du tableau */
|
|
function inverserTableau($tableau_inverse){
|
|
//echo "inverserTableau<br>";
|
|
for ($i=0;$i<count($tableau_inverse);$i++)
|
|
$tableau[$i]=$tableau_inverse[count($tableau_inverse)-$i-1];
|
|
return $tableau;
|
|
}
|
|
|
|
/* Script d'execution des calculs */
|
|
//echo $id_tableau;
|
|
global $tab_inverse;
|
|
global $result_inverse;
|
|
global $time_inverse;
|
|
//echo "main calculAffichageTableau<br>";///////////////////////////////////MOUCHARD
|
|
$nb_qualif=remplirTableauxRecursivement($id_tableau);
|
|
//echo "nb qualifies : ".$nb_qualif;
|
|
//$tab=inverserTableau($tab_inverse);
|
|
//$time=inverserTableau($time_inverse);
|
|
//$result=inverserTableau($result_inverse);
|
|
?>
|