2016-09-16 24 views
0

Ich versuche, Daten über Excel-Blatt in die Datenbank mit Codeigniter-Anwendung zu importieren.Ich verwende phpexcel. Allerdings ist der Code richtig, aber ich erhalte eine Fehlermeldung, die besagt:Codeigniter Importieren von Daten mit Excel-Datei

Fehlernummer: 1054 Unbekannte Spalte 'Joker' in 'Feldliste' INSERT INTO studentsaccount (Joker) VALUES ('') Dateiname: C: /xampp/htdocs/Nalanda_Library/system/database/DB_driver.php Zeilennummer: 691

aber mein Code wie folgt: für Controller

public function studentaccountimport(){ 
     $this->load->model('Department'); 

     $file = $_FILES['upload']['tmp_name']; 
     //load the excel library 
     $this->load->library('excel'); 
     //read file from path 
     $objPHPExcel = PHPExcel_IOFactory::load($file); 
     //get only the Cell Collection 
     $cell_collection = $objPHPExcel->getActiveSheet()->getCellCollection(); 
     //extract to a PHP readable array format 
     foreach ($cell_collection as $cell) { 
      $column = $objPHPExcel->getActiveSheet()->getCell($cell)->getColumn(); 
      $row = $objPHPExcel->getActiveSheet()->getCell($cell)->getRow(); 
      $data_value = $objPHPExcel->getActiveSheet()->getCell($cell)->getValue(); 
      //header will/should be in row 1 only. 
      if ($row == 1) { 
       $header[$row][$column] = $data_value; 
      } else { 
       $arr_data[$row][$column] = $data_value; 
       $this->Department->modeluploadation($data_value); 

      } 
     } 
    } 

für Modell:

public function modeluploadation($data){ 
    $this->db->insert('studentsaccount',$data); 
    } 

ich bin Anfänger in codeigniter hier so bitte helfen

+0

Und was ist Ihnen unklar? –

+0

@u_mulder es gibt mir einen Fehler, wenn ich versuche, Daten in die Datenbank zu importieren lesen Sie zuerst die Frage –

+0

Ich habe die Frage und den Fehler gelesen. Und es ist ziemlich offensichtlich, also frage ich nochmal - was ist dir unklar? –

Antwort

0

Sie müssen die Spaltennamen in INSERT-Abfrage ..

versuchen

if ($row == 1) { 
       $header[$row][$column] = $data_value; 
      } else { 
       $arr_data[$row][$column] = $data_value; 


      } 

$data['header'] = $header; 
$data['values'] = $arr_data; 

$this->Department->modeluploadation($data); 
0
angeben

Ok, der Grund für Ihr Problem ist, dass Sie ein Array von Schlüssel => Wert Paaren als Par übergeben müssen Durchmesser für den Einsatz().

Ich bin mir nicht sicher, warum die Antwort von Saffins herabgesetzt wurde, weil er recht hat. Also, wenn Sie modeluploadation wie einstellen sollten:

public function modeluploadation($data){ 
     $this->db->insert('studentsaccount',array('field_name'=>$data_value)); 
} 
+0

wird jetzt ein Fehler angezeigt, der besagt, dass Sie die set-Methode verwenden müssen, um einen Eintrag zu erstellen! –