j'ai pu avancé un peu, ça a débloqué certaines choses.
j'ai une erreur qui me dit que la variable $id_classe n'est pas défini ligne 89
Puis j'ai un bug m'empêchent de charger le fichier:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94 <?php class module_importcsv extends abstract_module{ public function before(){ $this->oLayout=new _layout('templateAdmin'); $this->oLayout->addModule('menu','menu::left'); } public function after(){ $this->oLayout->show(); } public function _index(){ $this->_import(); } public function _import(){ $this->processImport(); $oView=new _view('importcsv::upload'); $this->oLayout->add('main',$oView); } public function processImport(){ if(!_root::getRequest()->isPost() ){ //si ce n'est pas une requete POST on ne soumet pas return null; } $sColumn='importFile'; $oPluginUpload=new plugin_upload($sColumn); if($oPluginUpload->isValid()){ $sFilename='../data/upload/'.$sColumn.'_'.date('Ymdhis'); $oPluginUpload->saveAs($sFilename); $tLine=file($oPluginUpload->getPath() ); //boucle sur le fichier csv foreach($tLine as $i => $sLine){ if($i==0){ //on ignore la premiere ligne si c'est l'entete continue; } //pour chaque ligne on découpe avec le caractère ";" pour recuperer nos 6 colonnes dans des variables: list($sLastname,$sName,$sLogin,$sClassname,$sSession,$sAtelier_id)=explode(';',trim($sLine)); //ensuite on passe au traitement //on verifie si l'eleve existe deja $oEleveInDatabase=model_users::getInstance()->findByNameAndLastName($sName,$sLastname ); if($oEleveInDatabase){ $id_eleve=$oEleveInDatabase->id; }else{ //l'eleve existe pas : on le cree $oEleve=new row_users(); $oEleve->prenom=$sName; $oEleve->nom=$sLastname; $oEleve->login=$sLogin; $oEleve->statut_id=1;// "1" étant le status élève de l'User $oEleve->save(); //sous mysql et sql server, le champ de l'id va etre mis a jour dans l'objet $id_eleve=$oEleve->id; } //on verifie si la classe existe $oClassesInDatabase=model_classes::getInstance()->findByName($sClassname); if($oClassesInDatabase){ $id_classe=$oClassesInDatabase->id; } else { //la classe n'existe pas on la cree $oClasses=new row_classes; $oClasses->nom=$sClassname; $oClasses->session=$sSession; $oClasses->atelier_id=$sAtelier_id; $oClasses->save(); } //on ajoute le lien entre l'eleve et la classe $oClassesUsers=new row_classesUsers; $oClassesUsers->user_id=$id_eleve; $oClassesUsers->classe_id=$id_classe; $oClassesUsers->save(); } } } }
- au formulaire je sélectionné mon fichier depuis l'ordi
- je clic sur charger
- et là une alerte me dit aucun fichier sélectionné
- je contrôle et il est bien dans /data/upload
il m'a fait ce coup il y a une heure (j'avais pensé à un bug du moment puis qu’après ça a passé)
Partager