Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
File Manager
/
download
/
CHESS_2022
:
debug_partie.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php include('debug_correlation.php'); include('chessmaster.php'); date_default_timezone_set('Europe/Paris'); $jour = $_POST['jour']; $mois = $_POST['mois']; $annee = $_POST['annee']; $J1 = $_POST['J1']; $J2 = $_POST['J2']; $selection_score = $_POST['selection_score']; $flag_validation = false; $jour = 25; $mois = "Janvier"; $annee = 2018; $J1 = "stephaner"; $J2 = "philppea"; // $J1 = "fabien"; // $J2 = "henrique"; $selection_score = "Blanc gagne"; if( $J1 == "joueur1" || $J2 == "joueur2" || $selection_score == "resultat" ) { echo 4; } else { switch ($selection_score) { case "Blanc gagne": $score_blanc = "1"; $score_noir = "0"; $flag_validation = true; break; case "Blanc perd": $score_blanc = "0"; $score_noir = "1"; $flag_validation = true; break; case "Match nul": $score_blanc = "0.5"; $score_noir = "0.5"; $flag_validation = true; break; } if($flag_validation == true) { $tab_associatif = array(); $tab_associatif ['Janvier']='1'; $tab_associatif ['Février']='2'; $tab_associatif ['Mars']='3'; $tab_associatif ['Avril']='4'; $tab_associatif ['Mai']='5'; $tab_associatif ['Juin']='6'; $tab_associatif ['Juillet']='7'; $tab_associatif ['Aôut']='8'; $tab_associatif ['Septembre']='9'; $tab_associatif ['Octobre']='10'; $tab_associatif ['Novembre']='11'; $tab_associatif ['Décembre']='12'; $mois = $tab_associatif[$mois]; $num_jour = intval($jour); $num_mois = intval($mois); if($num_jour < 10) { $jour = '0' .$jour; } if($num_mois < 10) { $mois = '0' .$mois; } $date_format = $jour ."-" .$mois ."-" .$annee; if(check_date($date_format) == "Erreur") { echo 2; } else { $timestamp = mktime (0, 0, 0, $mois, $jour, $annee); $flag_doublon = 0; //$sql = "SELECT * FROM parties WHERE date = '$timestamp' and w_name = '$J1' and b_name = '$J2' "; $sql = "SELECT * FROM " .$_SESSION['parties'] ." WHERE date = '$timestamp' and w_name = '$J1' and b_name = '$J2' "; $resultat = mysql_query($sql); $n = mysql_num_rows($resultat); if($n !=0) { $flag_doublon = 1; } //$sql = "SELECT * FROM parties WHERE date = '$timestamp' and w_name = '$J2' and b_name = '$J1' "; $sql = "SELECT * FROM " .$_SESSION['parties'] ." WHERE date = '$timestamp' and w_name = '$J2' and b_name = '$J1' "; echo "<br>"; echo $sql; $resultat = mysql_query($sql); $n = mysql_num_rows($resultat); if($n !=0) { $flag_doublon = 1; } if($flag_doublon == 1) { echo 3; } else { $timestamp_ajout = mktime (0, 0, 0, $mois, $jour, $annee); $donnees = array(); $donnees[0] = $timestamp_ajout; $donnees[1] = $J1; $donnees[2] = $J2; $donnees[3] = $score_blanc; $donnees[4] = $score_noir; echo "<pre>"; echo print_r($donnees); inserer_partie($donnees); echo 1; } } } } /******************************************************************************************/ function check_date($data) { if (date('d-m-Y', strtotime($data)) == $data) { return "OK"; } else { return "Erreur"; } } /******************************************************************************************/ function transfert_DB() { //$sql = "SELECT * FROM parties ORDER by date asc"; $sql = "SELECT * FROM " .$_SESSION['parties'] ." ORDER by date asc"; $results = mysql_query($sql); $nb_parties = mysql_num_rows($results); while($row = mysql_fetch_assoc($results)) { $blanc = $row['w_name']; $noir = $row['b_name']; $date = $row['date']; $resultat = $row['result']; $date_partie = date('d/m/Y', $date); if($resultat == 1) { $_score_blanc = 1; $_score_noir = 0; } if($resultat == 2) { $_score_blanc = 0; $_score_noir = 1; } if($resultat == 3) { $_score_blanc = 0.5; $_score_noir = 0.5; } $table_csv[0] = $date_partie; $table_csv[1] = $blanc; $table_csv[2] = $noir; $table_csv[3] = $_score_blanc; $table_csv[4] = $_score_noir; $table_fichier[] = $table_csv; } $retour[] = $nb_parties; $retour[] = $table_fichier; return($retour); } /******************************************************************************************/ function regenerer_DB($tab_global) { // joueur $joueur = array(); //$sql = "SELECT * FROM classement ORDER by joueur asc"; $sql = "SELECT * FROM " .$_SESSION['classement'] ." ORDER by joueur asc"; $results = mysql_query($sql); while($row = mysql_fetch_assoc($results)) { $joueur[] = $row['joueur']; } // regenerer le classement //mysql_query('TRUNCATE TABLE classement;'); //mysql_query('TRUNCATE TABLE evolution;'); //mysql_query('TRUNCATE TABLE parties;'); //mysql_query('TRUNCATE TABLE chessmaster;'); // la commande TRUNCATE va ré-initialiser la valeur de l’auto-incrément, s’il y en a un. $str1 = "TRUNCATE TABLE " .$_SESSION['classement']; $str2 = "TRUNCATE TABLE " .$_SESSION['evolution']; $str3 = "TRUNCATE TABLE " .$_SESSION['parties']; $str4 = "TRUNCATE TABLE " .$_SESSION['chessmaster']; mysql_query($str1); mysql_query($str2); mysql_query($str3); mysql_query($str4); stockage_joueurs_DB($joueur); $indice = 0; for ($i=0; $i < count($tab_global); $i++) { $datas = $tab_global[$i]; list($jour, $mois, $annee) = explode('/', $datas[0]); $timestamp = mktime (0, 0, 0, $mois, $jour, $annee); $donnees[0] = $timestamp; $donnees[1] = $datas[1]; $donnees[2] = $datas[2]; $donnees[3] = $datas[3]; $donnees[4] = $datas[4]; algo_elo($donnees, "nostatistique", "sql", $indice ); $indice = $indice + 1; chess_master($donnees,$indice); } } /******************************************************************************************/ function stockage_joueurs_DB($donnees) { $elo = 1000; $nb_ligne = count($donnees); for ($i=0; $i < $nb_ligne; $i++) { $prenom = $donnees[$i]; $partie = 0; $prior = 0; // verifier que le joueur n'existe pas dans la database //$sql = "select joueur from classement where joueur = '$prenom' "; $sql = "select joueur from " .$_SESSION['classement'] ." where joueur = '$prenom' "; $result = mysql_query($sql); if(mysql_num_rows($result)>=1) { echo "Ce joueur existe deja :" .$prenom; echo "<br>"; } else { //$sql = "SELECT elo FROM elo_affectation WHERE joueur ='".$prenom."'"; $sql = "SELECT elo FROM " .$_SESSION['elo_affectation'] ." WHERE joueur ='".$prenom."'"; $result = mysql_query($sql); $row = mysql_fetch_array($result); $elo = $row['elo']; //$sql = " INSERT INTO classement "; $sql = " INSERT INTO " .$_SESSION['classement']; $sql = $sql . " (joueur, elo, parties, prior, initial) VALUES "; $sql = $sql . " ('$prenom', '$elo','$partie','$prior', '$elo') "; //echo $sql; //echo "<br>"; $result = mysql_query($sql); if (!$result) { echo("ERROR: " . mysql_error() . "\n$SQL\n"); } } } } /******************************************************************************************/ function inserer_partie($donnees) { //$sql = "SELECT * FROM parties"; $sql = "SELECT * FROM " .$_SESSION['parties']; $results = mysql_query($sql); while($row = mysql_fetch_assoc($results)) { $list_timestamp[] = intval($row["date"]); } $timestamp_ajout = $donnees[0]; $J1 = $donnees[1] ; $J2 = $donnees[2]; $score_blanc = $donnees[3]; $score_noir = $donnees[4]; // retourne le dernier timestamp $last_timestamp = end($list_timestamp); echo $timestamp_ajout ." " .$last_timestamp; // il s'agit de la suite de la table : un simple ajout sans un le recalcule if($timestamp_ajout >= $last_timestamp) { echo "TRACE"; algo_elo($donnees, "nostatistique", "sql", 0); /* //$sql = "SELECT * FROM chessmaster"; $sql = "SELECT * FROM " .$_SESSION['chessmaster']; $results = mysql_query($sql); $n = mysql_num_rows($results); //$sql = "SELECT * FROM chessmaster WHERE id = '$n' "; $sql = "SELECT * FROM " .$_SESSION['chessmaster'] ." WHERE id = '$n' "; $results = mysql_query($sql); $row = mysql_fetch_assoc($results); $master = $row['gagnant']; // NOTA: $J1, $J2, $gagnant, $timestamp) if($J1 == $master && $J2 != $master) { if($score_blanc == 1) { insert_chessmaster_DB($J1, $J2, $J1, $timestamp_ajout); } if($score_blanc == 0 ) { insert_chessmaster_DB($J1, $J2, $J2, $timestamp_ajout); } if($score_blanc == 0.5 && $score_noir == 0.5) { //avant la modif: insert_chessmaster_DB($J1, $J2, $J1, $timestamp_ajout); insert_chessmaster_DB($J1, $J2, $J2, $timestamp_ajout); // le noir gagne } } if($J1 != $master && $J2 == $master) { if($score_noir == 1) { insert_chessmaster_DB($J1, $J2, $J2, $timestamp_ajout); } if($score_noir == 0) { insert_chessmaster_DB($J1, $J2, $J1, $timestamp_ajout); } if($score_blanc == 0.5 && $score_noir == 0.5) { insert_chessmaster_DB($J1, $J2, $J2, $timestamp_ajout); } } $retour = "simple"; */ } else { echo "non fonctionnel"; /* // recherche si la date existe ? // retourne la cle si elle existe $test = array_search( $timestamp_ajout , $list_timestamp); if($test != "") { // timestamp existe... $array = array_count_values($list_timestamp); $nb_partie = $array[$timestamp_ajout]; $index_ajout = $test + $nb_partie - 1; } else { // on fait un recherche pour trouver le timestamp le plus proche $num= $timestamp_ajout; $diff = $num; $min = $num; foreach($list_timestamp as $a) { if( abs($a-$num)< $diff ) { $diff=abs($a-$num); $min=$a; } } $test = array_search( $min , $list_timestamp); $array = array_count_values($list_timestamp); $nb_partie = $array[$min]; // avant if($timestamp_ajout < $min) { $index_ajout = $test - 1 ; } // apres if($timestamp_ajout > $min) { $index_ajout = $test ; } } // un recalcule est obligatoire $tmp = transfert_DB(); $donnees[0] = date('d/m/Y', $timestamp_ajout); $nb_parties = $tmp[0]; $table_fichier = $tmp[1]; $tab1 = array(); $tab2 = array(); for ($i=0; $i <= $index_ajout ; $i++) { $tab1[] = $table_fichier[$i]; } for ($i=$index_ajout + 1 ; $i < $nb_parties; $i++) { $tab2[] = $table_fichier[$i]; } $table[] = $donnees; $tab_global = array_merge($tab1,$table, $tab2); regenerer_DB($tab_global); $retour = "complexe"; */ } } ?>