Bonjour,
je cherche a importer un fichier .csv dans ma base de données (en premier lieu faire un import et par la suite pouvoir mettre a jour certaines donnees) mais je ne sait pas trop comment m'y prendre, voila ce que je fais:
vue:
<?php
echo $this->Form->create('Test', array('enctype' => 'multipart/form-data') );
echo $this->Form->file('historique');
echo $this->Form->button('Envoyer',array('type'=>'submit','class'=>'btn'));
?>
controller:
<?php
class TestsController extends AppController {
var $uses = array('Date', 'Collaborateur');
var $components = array('RequestHandler');
function index()
{
if(isset($this->data))
{
$nom_fichier=$this->data'Test']'historique']'tmp_name'];
$fic = fopen($nom_fichier, "a+");
while($lines=fgetcsv($fic,4096,';'))
{
$this->Collaborateur->create();
$data = array('mva' => $lines[0], 'immatriculation' => $lines[1]);//Simple exemple
$this->Collaborateur->save($data);
}
}
}
}
et le model:
<?php
class Collaborateur extends AppModel{
}
avec ce code les donnees ne s'enregistrent pas dans la table, je dois dire que cela fais plusieurs jours que je tourne en rond et que maintenant je pense que je melange un peu tout, j ai repris la doc mais rien y fait, quelqu'un pourrait-il eclaircir se soucis?
merci d'avance
Gilles
Dans un premier temps à la place de
$this->Collaborateur->save($data);
fait un
debug($data)
voir ce qui s'affiche.
C'est peut être une simple erreur de formatage de ta variable $data
salut maxfr
quand je fait ce debug($data) je ne vois rien du tout, je ne vois pas le contenu du fichier, comment faire et d'ou peux venir le soucis?
Gilles
humm...
Dans un premier temps je vérifierai si je rentre dans telle ou telle partie de code.
function index()
{
// debug('lancement fx index');
if(isset($this->data)) // fonctionne sous cakePHP 1.X sur CakePHP 2.X il faut écrire $this->request->data
{
// debug('entree dans la condition $this->data');
$nom_fichier=$this->data'Test']'historique']'tmp_name'];
$fic = fopen($nom_fichier, "a+");
while($lines=fgetcsv($fic,4096,';'))
{
// debug('boucle while');
// debug($lines);
$this->Collaborateur->create();
$data = array('mva' => $lines[0], 'immatriculation' => $lines[1]);//Simple exemple
//$this->Collaborateur->save($data);
}
//debug($data);
}
}
suivant ce qui s'affiche avec des debug un peu partout tu saura ce qui ne va pas ;)