显示从模型CODEIGNITER返回的视图中的数组

时间:2014-01-02 08:31:58

标签: php codeigniter-2

我有以下代码段,我是codeigniter的新手。

模型中,我将返回一个数组,如下所示

      $data[$i] = $query->result_array;
      $i++; 
      return $data;    

控制器

   public function getcity()
   {
         $this->getstate();
         $result1 = $this->result;
             //$result1=$this->getstate();       
         $this->load->model('test_model');                   
         $resultdata = $this->test_model->getcity($result1);
         var_dump($resultdata);
         $output['query']=$resultdata;
             $this->load->view('test_view', $output);                 
    }

查看

 <?php foreach($query as $val => $row):?>
            <a href="link" style="color:#FF0000" > </a>

            <?php  echo  $row['city_name']."<br />";?>

        <?php  endforeach;?>
模型中返回数组的

vardump如下所示,与分配给控制器中数组时的数组值相同

array (size=27)
  0 => 
    array (size=1)
      0 => 
        array (size=1)
          'city_name' => string 'Dundee' (length=9)
  1 => 
    array (size=1)
      0 => 
        array (size=1)
          'city_name' => string 'Edinbrough' (length=7)
  2 => 
    array (size=1)
      0 => 
        array (size=1)
          'city_name' => string 'Oxford' (length=6)
  3 => 
    array (size=1)
      0 => 
        array (size=1)
          'city_name' => string 'AAAA' (length=5)

使用上面的观看代码,我收到错误

遇到PHP 错误

  Severity: Notice Message: Undefined index: city_name Filename: views/test_view.php        
  Line Number: 9

请告诉我在哪里更改代码段。

1 个答案:

答案 0 :(得分:1)

 $data[$i];

不需要$i,因为$data会自动充当数组。你可以写

$data = $query->result_array;

If you use `$i` it acts as a multidimensional array.
In that case you go with $row[0]['city_name'];