ablejoy 发表于 2009-8-27 11:56:02

怎么在视图中遍历从控制器传过来的数据

我不会php,最近用codeigniter做网站,我在控制器中写了一个这样的函数
function index()
    {
      $this->load->database('default');
      $query = $this->db->query("SELECT * FROM users");
      $this->load->view('show_msg',$query);
    }
将$query传到视图,请问在视图中怎么遍历?请知道的帮助一下,谢谢你们!!!

Hex 发表于 2009-8-27 12:18:38

你那样写不对,应该改成
$this->load->database('default');
$query = $this->db->query("SELECT * FROM users");
$data = array('query' => $query);
$this->load->view('show_msg', $data);

CI 的视图中无法遍历所有传过来的变量,只能这样写,这是 CI 的限制。

ablejoy 发表于 2009-8-27 13:34:04

谢谢,看到了

testabc111 发表于 2009-8-27 15:26:14

本帖最后由 testabc111 于 2009-8-27 15:27 编辑

不知道能不能传递对象,但是可以通过把对象放到数组中实现.

$this->load->database('default');
$query = $this->db->query("SELECT * FROM users");
$data['a'] = $query;
$this->load->view('show_msg', $data);


视图文件中可写
foreach ($a->result() as $row)
       {
          echo $row->title;
          echo $row->description;
          echo $row->username;
      }
这样就可以遍历了

dbwolf 发表于 2009-9-8 22:04:20

放到model中,,


<?php

class B extends Model{
      function __construct(){
                parent::Model();
      }

      function index(){
      $query=$this->db->query('select * from blog order by id desc');
      return $query->result();

      }

}

?>



Action
      
      function listblog(){
                $this->load->model('b');
                $data['query']=$this->b->index();

      $this->load->view('blog',$data);


view


<?foreach ($query as $row){
   
      echo $row->title.$row->content.'<br>';

}

kazaff 发表于 2009-9-9 08:59:15

LS的写的不错!顶!

ouok 发表于 2009-10-18 22:22:05

支持....
页: [1]
查看完整版本: 怎么在视图中遍历从控制器传过来的数据