security_check(); if ($resultat_session == 'c') { header("Location: ../utilisateurs/mon_compte.php?change_mdp=yes"); die(); } else if ($resultat_session == '0') { header("Location: ../logout.php?auto=1"); die(); } if (!checkAccess()) { header("Location: ../logout.php?auto=1"); die(); } include("../lib/initialisation_annee.inc.php"); $liste_tables_del = $liste_tables_del_etape_eleves; //**************** EN-TETE ***************** $titre_page = "Outil d'initialisation de l'année : Importation des élèves - Etape 1"; require_once("../lib/header.inc.php"); //************** FIN EN-TETE *************** //================================== // RNE de l'établissement pour comparer avec le RNE de l'établissement de l'année précédente $gepiSchoolRne=getSettingValue("gepiSchoolRne") ? getSettingValue("gepiSchoolRne") : ""; //================================== $en_tete=isset($_POST['en_tete']) ? $_POST['en_tete'] : "no"; //debug_var(); // Passer à 'y' pour afficher les requêtes $debug_ele="n"; ?>

Retour Retour accueil initialisation

Première phase d'initialisation
Importation des élèves

\n"; if (!isset($_POST["action"])) { // // On sélectionne le fichier à importer // if(isset($_SESSION['init_csv_ligne_entete'])&&($_SESSION['init_csv_ligne_entete']=="no")) { $checked=""; } else { $checked=" checked"; } echo "

Vous allez effectuer la première étape : elle consiste à importer le fichier g_eleves.csv contenant les données élèves.

\n"; echo "

Les champs suivants doivent être présents, dans l'ordre, et séparés par un point-virgule :

\n"; echo "\n"; echo "

Veuillez préciser le nom complet du fichier g_eleves.csv.

\n"; echo "
\n"; echo add_token_field(); echo "\n"; echo "

\n"; echo "

 

\n"; echo "

\n"; echo "
\n"; $sql="SELECT 1=1 FROM utilisateurs WHERE statut='eleve';"; if($debug_ele=='y') {echo "$sql
";} $test=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($test)>0) { $sql="SELECT 1=1 FROM tempo_utilisateurs WHERE statut='eleve';"; if($debug_ele=='y') {echo "$sql
";} $test=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($test)==0) { echo "

Il existe un ou des comptes élèves de l'année passée, et vous n'avez pas mis ces comptes en réserve pour imposer le même login/mot de passe cette année.
Est-ce bien un choix délibéré ou un oubli de votre part?
Pour conserver ces login/mot de de passe de façon à ne pas devoir re-distribuer ces informations (et éviter de perturber ces utilisateurs), vous pouvez procéder à la mise en réserve avant d'initialiser l'année dans la page Changement d'année (vous y trouverez aussi la possibilité de conserver les comptes parents et bien d'autres actions à ne pas oublier avant l'initialisation).

\n"; } } } else { // // Quelque chose a été posté // if ($_POST['action'] == "save_data") { check_token(false); // // On enregistre les données dans la base. // Le fichier a déjà été affiché, et l'utilisateur est sûr de vouloir enregistrer // // Première étape : on vide les tables echo "

On vide d'abord les tables suivantes : "; $j=0; $k=0; while ($j < count($liste_tables_del)) { $sql="SHOW TABLES LIKE '".$liste_tables_del[$j]."';"; //echo "$sql
"; $test = sql_query1($sql); if ($test != -1) { if($k>0) {echo ", ";} $sql="SELECT 1=1 FROM $liste_tables_del[$j];"; $res_test_tab=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res_test_tab)>0) { $sql="DELETE FROM $liste_tables_del[$j];"; $del = @mysqli_query($GLOBALS["mysqli"], $sql); echo "".$liste_tables_del[$j].""; echo " (".mysqli_num_rows($res_test_tab).")"; } else { echo $liste_tables_del[$j]; } $k++; } $j++; } // Ménage infos_actions: $sql="SELECT * FROM infos_actions WHERE titre LIKE 'Nouvel élève%';"; //echo "$sql
"; $test = mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($test)>0) { echo "
"; echo "Suppression d'anciens messages en page d'accueil invitant à créer de nouveaux comptes élèves."; $sql="DELETE FROM infos_actions WHERE titre LIKE 'Nouvel élève%';"; $del = mysqli_query($GLOBALS["mysqli"], $sql); } // Suppression des comptes d'élèves: echo "
\n"; echo "

On supprime les anciens comptes élèves... "; $sql="DELETE FROM utilisateurs WHERE statut='eleve';"; $del=mysqli_query($GLOBALS["mysqli"], $sql); $i = 0; // Compteur d'erreurs $error = 0; // Compteur d'enregistrement $total = 0; // Il faut que les comptes disposant d'un compte élève l'an dernier passent en premier pour récupérer leur login sans qu'il se produise une collision si un nouveau passe avant. //$sql="SELECT * FROM temp_gep_import2;"; $sql="(SELECT t.* FROM temp_gep_import2 t, tempo_utilisateurs tu WHERE t.ELENOET=tu.identifiant2) UNION (SELECT * FROM temp_gep_import2 WHERE ELENOET NOT IN (SELECT identifiant2 FROM tempo_utilisateurs));"; $res_temp=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res_temp)==0) { echo "

ERREUR : Aucun élève n'a été trouvé ???

\n"; echo "


\n"; require("../lib/footer.inc.php"); die(); } echo "
\n"; echo "

On remplit les tables 'eleves', 'j_eleves_regime', 'j_eleves_etablissements' : "; //while (true) { while ($lig=mysqli_fetch_object($res_temp)) { $reg_nom = $lig->ELENOM; $reg_prenom = $lig->ELEPRE; $reg_naissance = $lig->ELEDATNAIS; $reg_id_int = $lig->ELENOET; $reg_id_nat = $lig->ELENONAT; $reg_etab_prec = $lig->ETOCOD_EP; $reg_double = $lig->ELEDOUBL; $reg_regime = $lig->ELEREG; $reg_sexe = $lig->ELESEXE; //========================== // DEBUG //echo "

\$reg_nom=$reg_nom
\n"; //echo "\$reg_prenom=$reg_prenom
\n"; //echo "\$reg_id_int=$reg_id_int
\n"; //========================== // On nettoie et on vérifie : $reg_nom=nettoyer_caracteres_nom(my_strtoupper($reg_nom), "a", " '_-", ""); $reg_nom=preg_replace("/'/", " ", $reg_nom); if (mb_strlen($reg_nom) > 50) $reg_nom = mb_substr($reg_nom, 0, 50); $reg_prenom=nettoyer_caracteres_nom($reg_prenom, "a", " '_-", ""); $reg_prenom=preg_replace("/'/", " ", $reg_prenom); if (mb_strlen($reg_prenom) > 50) $reg_prenom = mb_substr($reg_prenom, 0, 50); $naissance = explode("/", $reg_naissance); if (!preg_match("/[0-9]/", $naissance[0]) OR mb_strlen($naissance[0]) > 2 OR mb_strlen($naissance[0]) == 0) $naissance[0] = "00"; if (mb_strlen($naissance[0]) == 1) $naissance[0] = "0" . $naissance[0]; if (!preg_match("/[0-9]/", $naissance[1]) OR mb_strlen($naissance[1] OR mb_strlen($naissance[1]) == 0) > 2) $naissance[1] = "00"; if (mb_strlen($naissance[1]) == 1) $naissance[1] = "0" . $naissance[1]; if (!preg_match("/[0-9]/", $naissance[2]) OR mb_strlen($naissance[2]) > 4 OR mb_strlen($naissance[2]) == 3 OR mb_strlen($naissance[2]) == 1) $naissance[2] = "00"; if (mb_strlen($naissance[2]) == 1) $naissance[2] = "0" . $naissance[2]; //$reg_naissance = mktime(0, 0, 0, $naissance[1], $naissance[0], $naissance[2]); $reg_naissance = $naissance[2] . "-" . $naissance[1] . "-" . $naissance[0]; $reg_id_int = preg_replace("/[^0-9]/","",trim($reg_id_int)); $reg_id_nat = preg_replace("/[^A-Z0-9]/","",trim($reg_id_nat)); $reg_etab_prec = preg_replace("/[^A-Z0-9]/","",trim($reg_etab_prec)); $reg_double = trim(my_strtoupper($reg_double)); if ($reg_double != "OUI" AND $reg_double != "NON") $reg_double = "NON"; $reg_regime = trim(my_strtoupper($reg_regime)); if ($reg_regime != "INTERN" AND $reg_regime != "EXTERN" AND $reg_regime != "IN.EX." AND $reg_regime != "DP DAN") $reg_regime = "DP DAN"; if ($reg_sexe != "F" AND $reg_sexe != "M") $reg_sexe = "F"; // Maintenant que tout est propre, on fait un test sur la table eleves pour s'assurer que l'élève n'existe pas déjà. // Ca permettra d'éviter d'enregistrer des élèves en double $sql="SELECT count(login) FROM eleves WHERE elenoet = '" . $reg_id_int . "';"; if($debug_ele=='y') {echo "

$sql -> $test enregistrement.
";} $test = old_mysql_result(mysqli_query($GLOBALS["mysqli"], $sql), 0); //========================== // DEBUG //echo "\$reg_id_int=$reg_id_int
\n"; //echo "\$test=$test
\n"; //========================== if ($test == 0) { // Test négatif : aucun élève avec cet ID... on enregistre ! $reg_login=""; if($reg_id_int!='') { $sql="SELECT * FROM tempo_utilisateurs WHERE identifiant2='".$reg_id_int."' AND statut='eleve';"; if($debug_ele=='y') {echo "$sql
";} $res_tmp_u=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res_tmp_u)>0) { $lig_tmp_u=mysqli_fetch_object($res_tmp_u); $reg_login=$lig_tmp_u->login; if($debug_ele=='y') {echo "On récupère de tempo_utilisateurs le login $reg_login
";} } } if($reg_login=="") { $default_login_gen_type=getSettingValue('mode_generation_login_eleve'); if(($default_login_gen_type=='')||(!check_format_login($default_login_gen_type))) {$default_login_gen_type='nnnnnnnnn_p';} $default_login_gen_type_casse=getSettingValue('mode_generation_login_eleve_casse'); if(($default_login_gen_type_casse!='min')&&($default_login_gen_type_casse!='maj')) {$default_login_gen_type_casse='min';} //$reg_login=generate_unique_login($reg_nom, $reg_prenom, $default_login_gen_type, 'maj'); $reg_login=generate_unique_login($reg_nom, $reg_prenom, $default_login_gen_type, $default_login_gen_type_casse); if($debug_ele=='y') {echo "Login nouvellement généré pour '$reg_nom $reg_prenom' : '$reg_login'
";} } if((!$reg_login)||($reg_login=="")) { echo "Erreur lors de la génération d'un login pour ".$reg_nom." ".$reg_prenom.".
\n"; } else { // Normalement on a maintenant un login dont on est sûr qu'il est unique... //========================== // DEBUG //echo "On va enregistrer l'élève avec le login \$reg_login=$reg_login

\n"; //========================== // On insere les données $sql="INSERT INTO eleves SET " . "no_gep = '" . $reg_id_nat . "', " . "login = '" . $reg_login . "', " . "nom = '" . mysqli_real_escape_string($GLOBALS["mysqli"], $reg_nom) . "', " . "prenom = '" . mysqli_real_escape_string($GLOBALS["mysqli"], $reg_prenom) . "', " . "sexe = '" . $reg_sexe . "', " . "naissance = '" . $reg_naissance . "', " . "elenoet = '" . $reg_id_int . "', " . "ereno = '" . $reg_id_int . "';"; if($debug_ele=='y') {echo "$sql
";} $insert = mysqli_query($GLOBALS["mysqli"], $sql); if (!$insert) { $error++; echo "ERREUR : ".mysqli_error($GLOBALS["mysqli"])."
\n"; } else { $total++; // On re-crée le compte utilisateur s'il existait l'année précédente (mais en déclarant le compte inactif) if($reg_id_int!='') { $sql="SELECT * FROM tempo_utilisateurs WHERE identifiant2='".$reg_id_int."' AND statut='eleve';"; if($debug_ele=='y') {echo "$sql
";} $res_tmp_u=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res_tmp_u)>0) { $lig_tmp_u=mysqli_fetch_object($res_tmp_u); $sql="INSERT INTO utilisateurs SET login='".$lig_tmp_u->login."', nom='".mysqli_real_escape_string($GLOBALS["mysqli"], $reg_nom)."', prenom='".mysqli_real_escape_string($GLOBALS["mysqli"], $reg_prenom)."', "; if($reg_sexe=='M') { $sql.="civilite='M', "; } else { $sql.="civilite='MLLE', "; } $sql.="password='".$lig_tmp_u->password."', salt='".$lig_tmp_u->salt."', email='".mysqli_real_escape_string($GLOBALS["mysqli"], $lig_tmp_u->email)."', statut='eleve', etat='inactif', change_mdp='n', auth_mode='".$lig_tmp_u->auth_mode."';"; if($debug_ele=='y') {echo "$sql
";} $insert_u=mysqli_query($GLOBALS["mysqli"], $sql); if(!$insert_u) { echo "Erreur lors de la re-création du compte utilisateur pour ".$reg_nom." ".$reg_prenom.".
\n"; } } } // On enregistre l'établissement d'origine, le régime, et si l'élève est redoublant //============================================ if (($reg_etab_prec != '')&&($reg_id_int != '')) { if($gepiSchoolRne!="") { if($gepiSchoolRne!=$reg_etab_prec) { $sql="SELECT 1=1 FROM j_eleves_etablissements WHERE id_eleve='$reg_id_int';"; $test_etab=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($test_etab)==0){ $sql="INSERT INTO j_eleves_etablissements SET id_eleve='$reg_id_int', id_etablissement='$reg_etab_prec';"; $insert_etab=mysqli_query($GLOBALS["mysqli"], $sql); if (!$insert_etab) { //echo "

Erreur lors de l'enregistrement de l'appartenance de l'élève $reg_nom $reg_prenom à l'établissement $reg_etab_prec.

\n"; $error++; echo "".mysqli_error($GLOBALS["mysqli"]).'
'; } } else { $sql="UPDATE j_eleves_etablissements SET id_etablissement='$reg_etab_prec' WHERE id_eleve='$reg_id_int';"; $update_etab=mysqli_query($GLOBALS["mysqli"], $sql); if (!$update_etab) { //echo "

Erreur lors de l'enregistrement de l'appartenance de l'élève $reg_nom $reg_prenom à l'établissement $reg_etab_prec.

\n"; $error++; echo "".mysqli_error($GLOBALS["mysqli"]).'
'; } } } } else { // Si le RNE de l'établissement courant (celui du GEPI) n'est pas renseigné, on insère les nouveaux enregistrements, mais on ne met pas à jour au risque d'écraser un enregistrement correct avec l'info que l'élève de 1ère était en 2nde dans le même établissement. // Il suffira de faire un // DELETE FROM j_eleves_etablissements WHERE id_etablissement='$gepiSchoolRne'; // une fois le RNE renseigné. $sql="SELECT 1=1 FROM j_eleves_etablissements WHERE id_eleve='$reg_id_int';"; $test_etab=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($test_etab)==0){ $sql="INSERT INTO j_eleves_etablissements SET id_eleve='$reg_id_int', id_etablissement='$reg_etab_prec';"; $insert_etab=mysqli_query($GLOBALS["mysqli"], $sql); if (!$insert_etab) { //echo "

Erreur lors de l'enregistrement de l'appartenance de l'élève $reg_nom $reg_prenom à l'établissement $reg_etab_prec.

\n"; $error++; echo "".mysqli_error($GLOBALS["mysqli"]).'
'; } } } } //============================================ if ($reg_double == "OUI") { $reg_double = "R"; } else { $reg_double = "-"; } if ($reg_regime == "INTERN") { $reg_regime = "int."; } else if ($reg_regime == "EXTERN") { $reg_regime = "ext."; } else if ($reg_regime == "DP DAN") { $reg_regime = "d/p"; } else if ($reg_regime == "IN.EX.") { $reg_regime = "i-e"; } $insert3 = mysqli_query($GLOBALS["mysqli"], "INSERT INTO j_eleves_regime SET login = '" . $reg_login . "', doublant = '" . $reg_double . "', regime = '" . $reg_regime . "'"); if (!$insert3) { $error++; echo "".mysqli_error($GLOBALS["mysqli"]).'
'; } } } } $i++; //if (!isset($_POST['ligne'.$i.'_nom'])) break 1; } if ($error > 0) {echo "

Il y a eu " . $error . " erreur(s).

\n";} if ($total > 0) {echo "

" . $total . " élèves ont été enregistrés.

\n";} echo "

Revenir à la page précédente

\n"; // On sauvegarde le témoin du fait qu'il va falloir convertir pour remplir les nouvelles tables responsables: saveSetting("conv_new_resp_table", 0); } else if ($_POST['action'] == "upload_file") { check_token(false); // // Le fichier vient d'être envoyé et doit être traité // On va donc afficher le contenu du fichier tel qu'il va être enregistré dans Gepi // en proposant des champs de saisie pour modifier les données si on le souhaite // if(isset($en_tete)) { $_SESSION['init_csv_ligne_entete']=$en_tete; } $csv_file = isset($_FILES["csv_file"]) ? $_FILES["csv_file"] : NULL; // On vérifie le nom du fichier... Ce n'est pas fondamentalement indispensable, mais // autant forcer l'utilisateur à être rigoureux if(my_strtolower($csv_file['name']) == "g_eleves.csv") { // Le nom est ok. On ouvre le fichier $fp=fopen($csv_file['tmp_name'],"r"); if(!$fp) { // Aie : on n'arrive pas à ouvrir le fichier... Pas bon. echo "

Impossible d'ouvrir le fichier CSV !

\n"; echo "

Cliquer ici pour recommencer !

\n"; } else { // Fichier ouvert ! On attaque le traitement // On va stocker toutes les infos dans un tableau // Une ligne du CSV pour une entrée du tableau $data_tab = array(); //========================= // On lit une ligne pour passer la ligne d'entête: if($en_tete=="yes") { $ligne = fgets($fp, 4096); echo "

A titre d'information, la ligne d'entête passée est la suivante :
$ligne
Si il ne s'agit pas d'une ligne d'entête, vous pouvez refaire cette étape.

"; } //========================= $cpt_INE_manquant=0; $msg_INE_manquant=""; $k = 0; $nat_num = array(); while (!feof($fp)) { $ligne = ensure_utf8(fgets($fp, 4096)); if(trim($ligne)!="") { $tabligne=explode(";",$ligne); // 0 : Nom // 1 : Prénom // 2 : Date de naissance // 3 : identifiant interne // 4 : identifiant national // 5 : établissement précédent // 6 : Doublement (OUI || NON) // 7 : Régime : INTERN || EXTERN || IN.EX. || DP DAN // 8 : Sexe : F || M // On nettoie et on vérifie : //===================================== $tabligne[0]=nettoyer_caracteres_nom($tabligne[0], "a", " '_-", ""); $tabligne[0]=preg_replace("/'/", " ", $tabligne[0]); if (mb_strlen($tabligne[0]) > 50) {$tabligne[0] = mb_substr($tabligne[0], 0, 50);} $tabligne[1]=nettoyer_caracteres_nom($tabligne[1], "a", " '_-", ""); $tabligne[1]=preg_replace("/'/", " ", $tabligne[1]); if (mb_strlen($tabligne[1]) > 50) $tabligne[1] = mb_substr($tabligne[1], 0, 50); $naissance = explode("/", $tabligne[2]); if (!preg_match("/[0-9]/", $naissance[0]) OR mb_strlen($naissance[0]) > 2 OR mb_strlen($naissance[0]) == 0) $naissance[0] = "00"; if (mb_strlen($naissance[0]) == 1) $naissance[0] = "0" . $naissance[0]; // Au cas où la date de naissance serait vraiment mal fichue: if(!isset($naissance[1])) { $naissance[1]="00"; } if (!preg_match("/[0-9]/", $naissance[1]) OR mb_strlen($naissance[1] OR mb_strlen($naissance[1]) == 0) > 2) $naissance[1] = "00"; if (mb_strlen($naissance[1]) == 1) $naissance[1] = "0" . $naissance[1]; // Au cas où la date de naissance serait vraiment mal fichue: if(!isset($naissance[2])) { $naissance[2]="0000"; } if (!preg_match("/[0-9]/", $naissance[2]) OR mb_strlen($naissance[2]) > 4 OR mb_strlen($naissance[2]) == 3 OR mb_strlen($naissance[2]) < 2) $naissance[2] = "0000"; $tabligne[2] = $naissance[0] . "/" . $naissance[1] . "/" . $naissance[2]; $tabligne[3] = preg_replace("/[^0-9]/","",trim($tabligne[3])); $tabligne[4] = preg_replace("/[^A-Z0-9]/","",trim($tabligne[4])); $tabligne[4] = preg_replace("/\"/", "", $tabligne[4]); $tabligne[5] = preg_replace("/[^A-Z0-9]/","",trim($tabligne[5])); $tabligne[5] = preg_replace("/\"/", "", $tabligne[5]); $tabligne[6] = trim(my_strtoupper($tabligne[6])); $tabligne[6] = preg_replace("/\"/", "", $tabligne[6]); if ($tabligne[6] != "OUI" AND $tabligne[6] != "NON") $tabligne[6] = "NON"; $tabligne[7] = trim(my_strtoupper($tabligne[7])); $tabligne[7] = preg_replace("/\"/", "", $tabligne[7]); if ($tabligne[7] != "INTERN" AND $tabligne[7] != "EXTERN" AND $tabligne[7] != "IN.EX." AND $tabligne[7] != "DP DAN") $tabligne[7] = "DP DAN"; $tabligne[8] = trim(my_strtoupper($tabligne[8])); $tabligne[8] = preg_replace("/\"/", "", $tabligne[8]); if ($tabligne[8] != "F" AND $tabligne[8] != "M") $tabligne[8] = "F"; if ($tabligne[4] != "" AND !in_array($tabligne[4], $nat_num)) { $nat_num[] = $tabligne[4]; $data_tab[$k] = array(); $data_tab[$k]["nom"] = $tabligne[0]; $data_tab[$k]["prenom"] = $tabligne[1]; $data_tab[$k]["naissance"] = $tabligne[2]; $data_tab[$k]["id_int"] = $tabligne[3]; $data_tab[$k]["id_nat"] = $tabligne[4]; $data_tab[$k]["etab_prec"] = $tabligne[5]; $data_tab[$k]["doublement"] = $tabligne[6]; $data_tab[$k]["regime"] = $tabligne[7]; $data_tab[$k]["sexe"] = $tabligne[8]; // On incrémente pour le prochain enregistrement $k++; } elseif($tabligne[4]== "") { $cpt_INE_manquant++; $msg_INE_manquant.=$tabligne[0]." ".$tabligne[1]." (".$tabligne[2].") sans numéro national (ne sera pas enregistré(e)).
"; } elseif(in_array($tabligne[4], $nat_num)) { $cpt_INE_manquant++; $msg_INE_manquant.=$tabligne[0]." ".$tabligne[1]." (".$tabligne[2].") a le même numéro INE (".$tabligne[4].") qu'un autre élève pris en compte sans numéro national (ne sera pas enregistré(e)).
"; } } } fclose($fp); // Fin de l'analyse du fichier. // Maintenant on va afficher tout ça. echo "
\n"; echo add_token_field(); echo "\n"; echo "\n"; echo "\n"; $chaine_mysql_collate=""; $sql="CREATE TABLE IF NOT EXISTS temp_gep_import2 ( ID_TEMPO varchar(40) NOT NULL default '', LOGIN varchar(40) $chaine_mysql_collate NOT NULL default '', ELENOM varchar(40) $chaine_mysql_collate NOT NULL default '', ELEPRE varchar(40) $chaine_mysql_collate NOT NULL default '', ELESEXE varchar(40) $chaine_mysql_collate NOT NULL default '', ELEDATNAIS varchar(40) $chaine_mysql_collate NOT NULL default '', ELENOET varchar(40) $chaine_mysql_collate NOT NULL default '', ELE_ID varchar(40) $chaine_mysql_collate NOT NULL default '', ELEDOUBL varchar(40) $chaine_mysql_collate NOT NULL default '', ELENONAT varchar(40) $chaine_mysql_collate NOT NULL default '', ELEREG varchar(40) $chaine_mysql_collate NOT NULL default '', DIVCOD varchar(40) $chaine_mysql_collate NOT NULL default '', ETOCOD_EP varchar(40) $chaine_mysql_collate NOT NULL default '', ELEOPT1 varchar(40) $chaine_mysql_collate NOT NULL default '', ELEOPT2 varchar(40) $chaine_mysql_collate NOT NULL default '', ELEOPT3 varchar(40) $chaine_mysql_collate NOT NULL default '', ELEOPT4 varchar(40) $chaine_mysql_collate NOT NULL default '', ELEOPT5 varchar(40) $chaine_mysql_collate NOT NULL default '', ELEOPT6 varchar(40) $chaine_mysql_collate NOT NULL default '', ELEOPT7 varchar(40) $chaine_mysql_collate NOT NULL default '', ELEOPT8 varchar(40) $chaine_mysql_collate NOT NULL default '', ELEOPT9 varchar(40) $chaine_mysql_collate NOT NULL default '', ELEOPT10 varchar(40) $chaine_mysql_collate NOT NULL default '', ELEOPT11 varchar(40) $chaine_mysql_collate NOT NULL default '', ELEOPT12 varchar(40) $chaine_mysql_collate NOT NULL default '', LIEU_NAISSANCE varchar(50) $chaine_mysql_collate NOT NULL default '', MEL varchar(255) $chaine_mysql_collate NOT NULL default '' );"; $create_table = mysqli_query($GLOBALS["mysqli"], $sql); $sql="TRUNCATE TABLE temp_gep_import2;"; $vide_table = mysqli_query($GLOBALS["mysqli"], $sql); $nb_error=0; $alt=1; for ($i=0;$i<$k;$i++) { $alt=$alt*(-1); echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; } echo "
NomPrénomSexeDate de naissancen° étab.n° nat.Code étab.Double.Régime
\n"; $sql="INSERT INTO temp_gep_import2 SET id_tempo='$i', elenom='".mysqli_real_escape_string($GLOBALS["mysqli"], $data_tab[$i]["nom"])."', elepre='".mysqli_real_escape_string($GLOBALS["mysqli"], $data_tab[$i]["prenom"])."', elesexe='".mysqli_real_escape_string($GLOBALS["mysqli"], $data_tab[$i]["sexe"])."', eledatnais='".mysqli_real_escape_string($GLOBALS["mysqli"], $data_tab[$i]["naissance"])."', elenoet='".mysqli_real_escape_string($GLOBALS["mysqli"], $data_tab[$i]["id_int"])."', elenonat='".mysqli_real_escape_string($GLOBALS["mysqli"], $data_tab[$i]["id_nat"])."', etocod_ep='".mysqli_real_escape_string($GLOBALS["mysqli"], $data_tab[$i]["etab_prec"])."', eledoubl='".mysqli_real_escape_string($GLOBALS["mysqli"], $data_tab[$i]["doublement"])."', elereg='".mysqli_real_escape_string($GLOBALS["mysqli"], $data_tab[$i]["regime"])."';"; $insert=mysqli_query($GLOBALS["mysqli"], $sql); if(!$insert) { echo "".$data_tab[$i]["nom"].""; $nb_error++; } else { echo $data_tab[$i]["nom"]; } echo "\n"; echo $data_tab[$i]["prenom"]; echo "\n"; echo $data_tab[$i]["sexe"]; echo "\n"; echo $data_tab[$i]["naissance"]; echo "\n"; echo $data_tab[$i]["id_int"]; echo "\n"; echo $data_tab[$i]["id_nat"]; echo "\n"; echo $data_tab[$i]["etab_prec"]; echo "\n"; echo $data_tab[$i]["doublement"]; echo "\n"; echo $data_tab[$i]["regime"]; echo "
\n"; echo "

$k élèves ont été détectés dans le fichier.

\n"; if($nb_error>0) { echo "

$nb_error erreur(s) détectée(s) lors de la préparation.

\n"; } if($cpt_INE_manquant>0) { echo "

".$cpt_INE_manquant." élève(s) ne sera(ont) pas enregistrés :
"; echo $msg_INE_manquant."

"; } echo "

\n"; echo "
\n"; } } else if (trim($csv_file['name'])=='') { echo "

Aucun fichier n'a été sélectionné !
\n"; echo "Cliquer ici pour recommencer !

\n"; } else { echo "

Le fichier sélectionné n'est pas valide !
"; echo "Cliquer ici pour recommencer !

"; } } } echo "


\n"; require("../lib/footer.inc.php"); ?>