2017-02-03 5 views
0

私はプロジェクトにcodigniterを使用しており、インポート機能を追加する必要があります。私はビューに配列として解析されたcsvファイルを渡そうとしていますが、配列を渡すと空であるように見えます。ここCodeigniterが配列を渡していない

は、この方法では、配列は、後に空になっていないので、CSVを解析し、ビューここ

public function confirm($targetFile){ 
     $data = array(
      'import_url' => site_url(array('import', 'confirm')) 
      ); 
     $data = array(); 
     $config = new LexerConfig(); 
     $lexer = new Lexer($config); 

     $interpreter = new Interpreter(); 
     $i=0; 
     $data_array =array(); 
     $interpreter->addObserver(function(array $columns) use (&$i, &$data_array){ 
      if($i == 0){ 
       $i = $i + 1; 
      }else{ 
       array_push($data_array,$columns); 
      } 
      return $data_array; 
     } 

     ); 


     $lexer->parse($targetFile, $interpreter); 
     print_r($data_array); 
      // $j=0; 
      // while($j < sizeof($data_array)){ 
      // $valid = $this->validateRow($data_array[$j],$j); 
      // if($j == 0){ 
      //  //print_r($data_array[$j]); 
      // } 
      // if($valid){ 
      //  //echo 'true'; 
      // }else{ 
      //  //echo 'false'; 
      // } 
      // $j++; 
      // } 


     return $this->load->view('import/view',$data_array); ; 
    } 

をロードする方法は、ビュー

<?php $this->load->view('include/site_header'); ?> 
<?php 
    if(!empty($data_array)){ 
     foreach((array)$data_array as $data){ 
    print_r($data[0]); 
    } 
    } 
?> 
<div id="content" class="gradient gray"> 
    <h1 class="header"> 
    Import Contacts</h3> 
    <form id="import_form" action="" method="post" target="_blank"> 
     <h2 class="header"> 
     Confirm import</h3> 
     <fieldset id="fields"> 
     <div class="clearfix"> 
      <table style="width:100%;"> 
       <tr> 
        <td>fname</td> 
        <td>lname</td> 
        <td>company</td> 
       </tr> 
      </table> 
     </div> 
     </fieldset> 
    </form> 
</div> 
<?php $this->load->view('include/site_footer'); ?> 

その面白いですそれは解析されます。

Array ( 
    [0] => Array ([0] => 1 [1] => Kathleen [2] => L[3] => [email protected] [4] => Female [5] => 111.111.44.111) 
    [1] => Array ([0] => 2 [1] => Craig [2] => >G[3] => [email protected] [4] => Male [5] => 111.111.77.111) 
    [2] => Array ([0] => 3 [1] => Kathy [2] => R[3] => [email protected] [4] => Female [5] => 111.111.88.111) 
    [3] => Array ([0] => 4 [1] => Annie [2] => R[3] => [email protected] [4] => Female [5] => 111.111.99.111) 
    [4] => Array ([0] => 5 [1] => Chris [2] => D[3] => [email protected] [4] => Male [5] => 111.111.66.111) 
) 
+0

'ますprint_r($のdata_array)で出力されるもの;'?あなたは出産を投稿できますか? –

+0

私はそれを –

+0

と答えました。 –

答えて

0

変更:

$this->load->view('import/view', $data_array); 

へ:

$this->load->view('import/view', array("data" => $data_array)); 

そして、そのようなビューのアクセス、それに:

$data[0][0]; 
0

この

のように試してみてください ビュー

$data['results'] = $data_array; 
return $this->load->view('import/view',$data); 

コントローラにおいて

if(!empty($results)){ 
     foreach($results as $key=>$data){ 
    print_r($data);//prints your all data ($data[0] and $data[1]) 
    } 
    } 
関連する問題