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
:
import_csv02.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php session_start(); //include('ELO_code.php'); include('correlation.php'); include('chessmaster.php'); include('generation_chessmaster.php'); //include('database.php'); //DB_connexion(); //echo '<a href='; //echo $_SERVER['HTTP_REFERER']; //echo '>Retour</a>'; echo '<a href="admin.php">Retour...</a>'; echo '<br><br>'; echo "<br><br>"; echo "Import du fichier ..."; echo "<br><br>"; error_reporting(0); header( 'content-type: text/html; charset=utf-8' ); /******************************************/ function lire_csv($nom_fichier ) { $donnee = array(); $joueur = array(); $table_csv = array(); $file = fopen ($nom_fichier,"r"); while(! feof($file)) { $tmp = fgets($file); //$tmp = strtolower($tmp); pas actif //echo $tmp ."<BR>"; $tmp = str_to_noaccent($tmp); $pieces = explode(";", $tmp); if($pieces[1] != "") { $table_csv[] = $pieces; $joueur[] = $pieces[1]; $joueur[] = $pieces[2]; } } fclose($file); $nb_ligne = count($table_csv); for ($i=0; $i < $nb_ligne; $i++) { $val = $table_csv[$i][4]; $position = strpos($val, "5"); if($position !== false) { //echo " Match nul"; //echo "<br>"; $table_csv[$i][3] = "0.5"; $table_csv[$i][4] = "0.5"; } $date_partie = $table_csv[$i][0]; if($date_partie != "") { $date = mise_en_forme_date($date_partie); $sauve = $date; $table_csv[$i][0] = $date; } else { $table_csv[$i][0] = $sauve; } } $sans_doublon = array_unique($joueur); $sans_doublon = array_values($sans_doublon); // ordonner par ordre alphabetique usort($sans_doublon, "strcasecmp"); $merge = array($table_csv, $sans_doublon ); //echo "<pre>"; //print_r($merge); return $merge; } /******************************************/ function str_to_noaccent($str) { $tmp = $str; $tmp = preg_replace('#Ç#', 'C', $tmp); $tmp = preg_replace('#ç#', 'c', $tmp); $tmp = preg_replace('#è|é|ê|ë#', 'e', $tmp); $tmp = preg_replace('#È|É|Ê|Ë#', 'E', $tmp); $tmp = preg_replace('#à|á|â|ã|ä|å#', 'a', $tmp); $tmp = preg_replace('#@|À|Á|Â|Ã|Ä|Å#', 'A', $tmp); $tmp = preg_replace('#ì|í|î|ï#', 'i', $tmp); $tmp = preg_replace('#Ì|Í|Î|Ï#', 'I', $tmp); $tmp = preg_replace('#ð|ò|ó|ô|õ|ö#', 'o', $tmp); $tmp = preg_replace('#Ò|Ó|Ô|Õ|Ö#', 'O', $tmp); $tmp = preg_replace('#ù|ú|û|ü#', 'u', $tmp); $tmp = preg_replace('#Ù|Ú|Û|Ü#', 'U', $tmp); $tmp = preg_replace('#ý|ÿ#', 'y', $tmp); $tmp = preg_replace('#Ý#', 'Y', $tmp); return ($tmp); } /******************************************/ function mise_en_forme_date($date) { list($jour, $mois, $annee) = explode('/', $date); $timestamp = mktime (0, 0, 0, $mois, $jour, $annee); return($timestamp); } /******************************************/ function stockage_joueurs_DB($donnees) { $elo = 1000; $i = 0; $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 déjà :" .$prenom; echo "<br>"; } else { $sql = "SELECT elo FROM elo_affectation WHERE joueur ='".$prenom."'"; //$sql = "SELECT elo FROM " .$_SESSION['classement'] ." 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 import_donnees($fichier) { $donnees = lire_csv($fichier); // fragmentation $liste_parties = array(); $liste_joueurs = array(); $liste_parties = $donnees[0]; $liste_joueurs = $donnees[1]; // affichage echo " ------------------------------" ."<br>"; echo "<pre>"; print_r($liste_parties); echo "<br>"; echo " ------------------------------" ."<br>"; echo "<pre>"; print_r($liste_joueurs); $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); echo "Initialisation de la table classement ...."; echo "<br>"; $sql = "INSERT INTO `clone_classement_new` (`id`, `joueur`, `elo`, `initial`, `parties`, `prior`, `bonus`, `oldrating`, `gcount`, `wins`, `losses`, `draws`, `active`) VALUES (1, 'AlvaroM', 1400, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 1), (2, 'DamienB', 1400, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 1), (3, 'EmileM', 1400, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 1), (4, 'FranckV', 1400, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 1), (5, 'HenriqueF', 1400, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 1), (6, 'PatrickA', 1400, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 1), (7, 'PhilippeA', 1400, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 1), (8, 'RemyS', 1400, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 1), (9, 'StephaneR', 1400, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 1); "; $result = mysql_query($sql); $sql = "ALTER TABLE clone_chessmaster_new AUTO_INCREMENT = 1"; $result = mysql_query($sql); //echo "<br>"; //echo " ------------------------------" ."<br>"; // enregistrer // stockage_joueurs_DB($liste_joueurs); //echo "<br>"; //echo " ------------------------------" ."<br>"; // calculer du classement $nb_parties = count($liste_parties); echo "Nombre de parties extraites: " .$nb_parties; for ($item=0; $item < $nb_parties ; $item++) { $donnees[0] = $liste_parties[$item][0]; $donnees[1] = $liste_parties[$item][1]; $donnees[2] = $liste_parties[$item][2]; $donnees[3] = $liste_parties[$item][3]; $donnees[4] = $liste_parties[$item][4]; $indice = $item + 1; algo_elo($donnees, "statistique", "sql", $indice ); //chess_master($donnees,$item); } echo "<br>"; echo " ------------------------------" ."<br>"; echo "Script executé avec succés"; echo "<br>"; generer_chessmaster(); } /******************************************/ if( isset($_POST['envoyer']) ) // si formulaire soumis { $tmp_file = $_FILES['fichier']['tmp_name']; //$_SESSION['algorithme'] = $_POST['algorithme']; echo "********************************************************"; echo "<br>"; echo " LOG de l'import et du traitement ... "; echo "<br>"; echo "********************************************************"; echo "<br>"; echo "<br>"; $type = $_POST['selection_algo']; switch ($_POST['selection_algo']) { case "Type 1": $val ="un"; break; case "Type 2": $val ="deux"; break; case "Type 3": $val ="trois"; break; } $_SESSION['algorithme'] = $val; if( !is_uploaded_file($tmp_file) ) { exit("Le fichier est introuvable"); } $dossier = 'upload/'; $taille_maxi = 1000000; $taille = filesize($_FILES['fichier']['tmp_name']); $extensions = array('.csv'); $extension = strrchr($_FILES['fichier']['name'], '.'); if(!in_array($extension, $extensions)) { $erreur = 'Vous devez uploader un fichier de type csv !.'; } if($taille>$taille_maxi) { $erreur = 'Le fichier est trop gros...'; } if(!isset($erreur)) { $name_file = $_FILES['fichier']['name']; if(move_uploaded_file($tmp_file, $dossier .$name_file)) { echo 'Upload effectué avec succès !'; echo "<br><br>"; import_donnees($dossier .$name_file); } else { echo "<br><br>"; echo 'Echec de l\'upload !'; } } else { echo $erreur; } } ?>