Choix du fichier

Fichier csv sur 11 colonnes



(ajoute ou modifie les lecteurs présents dans le fichier)
(supprime les lecteurs non présents de cette localisation qui n'ont pas de prêt en cours)
"; } function import_eleves($separateur, $dbh, $type_import,$commune){ global $code_categorie; global $code_statistique; $code_categorie=12; $code_statistique=3; $eleve_abrege = array("Numéro identifiant","Nom","Prénom"); $date_auj = date("Y-m-d", time()); $date_an_proch = date("Y-m-d", time()+3600*24*30.42*12); //Upload du fichier if (!($_FILES['import_lec']['tmp_name'])) print "Cliquez sur Précédent et choisissez un fichier"; elseif (!(move_uploaded_file($_FILES['import_lec']['tmp_name'], "./temp/" .basename($_FILES['import_lec']['tmp_name'])))) { print "Le fichier n'a pas pu être téléchargé. Voici plus d'informations :
"; print_r($_FILES)."

"; } $fichier = @fopen( "./temp/".basename($_FILES['import_lec']['tmp_name']), "r" ); if ($fichier) { if ($type_import == 'maj_complete') { //Vide la table empr_groupe des élèves qui n'ont pas de prêts en cours et qui sont localisé à la commune sélectionnée et de categorie collectivité eleves $req_select_verif_pret = "SELECT id_empr FROM empr left join pret on id_empr=pret_idempr WHERE pret_idempr is null and empr_location= '$commune' and empr_categ = '$code_categorie' "; $select_verif_pret = pmb_mysql_query($req_select_verif_pret,$dbh); while (($verif_pret = pmb_mysql_fetch_array($select_verif_pret))) { //pour tous les emprunteurs qui n'ont pas de pret en cours $req_delete = "DELETE FROM empr_groupe WHERE empr_id = '".$verif_pret["id_empr"]."'"; pmb_mysql_query($req_delete); } //$delete_empr_groupe = pmb_mysql_query("DELETE FROM empr_groupe",$dbh); //Supprime les élèves qui n'ont pas de prêts en cours et qui sont localisé à la commune sélectionnée et de categorie collectivité eleves $req_select_verif_pret = "SELECT id_empr FROM empr left join pret on id_empr=pret_idempr WHERE pret_idempr is null and empr_location= '$commune' and empr_categ = '$code_categorie' "; $select_verif_pret = pmb_mysql_query($req_select_verif_pret,$dbh); while (($verif_pret = pmb_mysql_fetch_array($select_verif_pret))) { //pour tous les emprunteurs qui n'ont pas de pret en cours emprunteur::del_empr($verif_pret["id_empr"]); } } while (!feof($fichier)) { $buffer = fgets($fichier, 4096); $buffer = import_empr::get_encoded_buffer($buffer); $buffer = pmb_mysql_escape_string($buffer); $tab = explode($separateur, $buffer); //Gestion du sexe switch ($tab[10]{0}) { case 'M': $sexe = 1; break; case 'F': $sexe = 2; break; default: $sexe = 0; break; } // Traitement de l'élève $select = pmb_mysql_query("SELECT id_empr FROM empr WHERE empr_cb = '".$tab[0]."'",$dbh); $nb_enreg = pmb_mysql_num_rows($select); //Test si un numéro id est fourni if (!$tab[0] || $tab[0] == "") { print(" Elève non pris en compte car \"Numéro identifiant\" non renseigné :
"); for ($i=0;$i<3;$i++) { print($eleve_abrege[$i]." : ".$tab[$i].", "); } print("
"); $nb_enreg = 2; } $login = import_empr::cre_login($tab[1],$tab[2]); switch ($nb_enreg) { case 0: //Ce élève n'est pas enregistré $req_insert = "INSERT INTO empr(empr_cb, empr_nom, empr_prenom, empr_adr1, empr_adr2, empr_cp, empr_ville, "; $req_insert .= "empr_tel1, empr_year, empr_categ, empr_codestat, empr_creation, empr_sexe, "; $req_insert .= "empr_login, empr_password, empr_date_adhesion, empr_date_expiration, empr_location) "; $req_insert .= "VALUES ('$tab[0]','$tab[1]','$tab[2]','$tab[3]', '$tab[4]', '$tab[5]', "; //Vérifier dans la table empr_categ si id_categ_empr 1 = élèves //Vérifier dans la table empr_codestat si idcode 2 = école Sinon, changer les valeurs $req_insert .= "'$tab[6]', '$tab[7]', '$tab[8]', $code_categorie , '3', '$date_auj', '$sexe', "; $req_insert .= "'$login', '$tab[8]', '$date_auj', '$date_an_proch' , '$commune' )"; $insert = pmb_mysql_query($req_insert,$dbh); if (!$insert) { print("Echec de la création de l'élève suivant (Erreur : ".pmb_mysql_error().") :
"); print($code_categorie); print("3"); print( "$location"); print( "$user"); for ($i=0;$i<3;$i++) { print($eleve_abrege[$i]." : ".$tab[$i].", "); } print("
"); } else { emprunteur::update_digest($login,$tab[8]); emprunteur::hash_password($login,$tab[8]); $cpt_insert ++; } import_empr::gestion_groupe($tab[9], $tab[0]); $j++; break; case 1: //Ce élève est déjà enregistré $req_update = "UPDATE empr SET empr_nom = '$tab[1]', empr_prenom = '$tab[2]', empr_adr1 = '$tab[3]', "; $req_update .= "empr_adr2 = '$tab[4]', empr_cp = '$tab[5]', empr_ville = '$tab[6]', "; //Vérifier dans la table empr_categ si id_categ_empr 1 = élèves Vérifier dans la table empr_codestat si idcode 2 = école Sinon, changer les valeurs $req_update .= "empr_tel1 = '$tab[7]', empr_year = '$tab[8]', empr_categ = '$code_categorie ', empr_codestat = '3', empr_modif = '$date_auj', empr_sexe = '$sexe', "; $req_update .= "empr_login = '$login', empr_password= '$tab[8]', "; $req_update .= "empr_date_adhesion = '$date_auj', empr_date_expiration = '$date_an_proch', empr_location = '$commune'"; $req_update .= "WHERE empr_cb = '$tab[0]'"; $update = pmb_mysql_query($req_update, $dbh); if (!$update) { print("Echec de la modification de l'élève suivant (Erreur : ".pmb_mysql_error().") :
"); print( $path); print('$code_categorie'); print("3"); print( "$location"); print( "$user"); for ($i=0;$i<3;$i++) { print($eleve_abrege[$i]." : ".$tab[$i].", "); } print("
"); } else { emprunteur::update_digest($login,$tab[8]); emprunteur::hash_password($login,$tab[8]); $cpt_maj ++; } import_empr::gestion_groupe($tab[9], $tab[0]); $j++; break; case 2: break; default: print( $path); print($code_categorie); print(3); print( $location); echo $user; print("Echec pour l'élève suivant (Erreur : ".pmb_mysql_error().") :
"); for ($i=0;$i<3;$i++) { print($eleve_abrege[$i]." : ".$tab[$i].", "); } print("
"); break; } } //Affichage des insert et update print("
_____________________
"); if ($cpt_insert) print($cpt_insert." Elèves créés.
"); if ($cpt_maj) print($cpt_maj." Elèves modifiés.
"); fclose($fichier); } } switch($action) { case 1: import_eleves(";", $dbh, $type_import,$cnl_bibli); break; case 2: break; default: show_import_choix_fichier($dbh); break; } ?>