webleads-tracker

Forum

CRUD - Action principale : moteur d'import

Emmanuelle
Bonjour,

J'ai mis en place un CRUD et maintenant j'aimerais pouvoir importer toutes mes données qui sont sur un fichier CSV.

J'ai commencé à mettre en place un début d'action principale mais il y a plusieurs endroits pour lesquels je ne sais pas ce que je dois mettre. Voici le code :
  public function _getAdditionnalListLinks($list) {
    $onclick = ?Je mets quoi ici? ;
    $list->setListLink(array(
      'Import',
      $onclick,
      '/image/import.png'
    ), true);
  }

  public function _additionnalStartActions() {
    if ($_GET['action'] === 'importer') {
      em_output::echoAndExit($this->importer());
    }
  }
  
  public function importer() {
    require_once em_misc::getClassPath() . '/core/Emajine_CSV.class.php';
    $obj = new Emajine_CSV();
    $obj->set_delimiter(';');
    $obj->set_enclosure('"');
    $obj->setEncoding('UTF-8');
    $obj->set_header(array('type_pop', 'pop', 'categ_prod', 'produit', 'portion1', 'portion2', 'reglementation_portion', 'critere', 'frequence1', 'frequence2', 'reglementation_frequence'));
    $obj->execCSVFunction($fileName,array($this,'importRow'));
  }

  public function importRow(?Je mets quoi ici?) {
  //requete SQL de type INSERT
  }


J'ai bien regardé la documentation sur le CRUD, mais je ne trouve pas plus d'informations.
Quelqu'un pourrait-il m'aider à terminer la mise en place de cette action principale ?

D'avance merci pour vos messages et vos aides.
Emma
Emmanuelle ROBERT

Jérémie Glotin
Bonsoir,

Comme nous avons pu le voir lors de notre accompagnement, dans le code ci-dessus, la méthode importRow va recevoir comme argument un tableau contenant les données de la ligne en cours de traitement.

Bonne soirée,
Directeur technique Medialibs