用户
 找回密码
 入住 CI 中国社区
搜索
查看: 2779|回复: 5
收起左侧

[HELP] 高手帮我看看,刚用不会

[复制链接]
发表于 2010-4-22 14:16:40 | 显示全部楼层 |阅读模式
1CI币
我在模型里的是
//查出表中所有数据
function get_info(){
      $query = $this->db->query("select * from mes");
      return $query->result();
}
控制器中调用的方法是
//调用模型中get_info方法,把返回值送到视图中去
function index(){
     $this->load->model("modelname");
     $data['info'] = $this->modelname->get_info()
     $this->load->view("index",$data);
}

视图中是
<?php

   foreach($info as $row){
        $row->name;
}
?>

问题来了,比如我表中有3笔数据,这样在视图中显示出来的都是  name  这个字段中的值,我想在视图中  跟 while($row=mysql_fetch_array($query))这种效果,我循环一次能把一笔数据中的  title  name   content 输出来,然后在循环第2次,把第二笔再循环出来,   试过几种方法,都不行,还请高手们看看我在 MVC中应该怎么写,才能产生这种效果。

最佳答案

发表于 2010-4-22 14:16:41 | 显示全部楼层
<?php

   foreach($info as $row){
        echo $row['name'].'&nbsp;'.$row['title'].'&nbsp;'.$row['content'].'&nbsp;';
}
?>
回复

使用道具 举报

 楼主| 发表于 2010-4-22 14:33:43 | 显示全部楼层
回复 2# lcnphp


   请问下,这样的话是不是 假如输出  name ,他会一次性遍历出所有 name,  我想就是跟while一样,我循环一次 把数据库中第一条留言的 name  title  conetnt输出来,第二次循环吧数据库中第二条留言的  name  title  content 输出来,就是这样一直下去,您看在MVC中怎么写能达到这样的效果,如果把视图中的foreach用while代替,那M  C   中怎么写?
回复

使用道具 举报

发表于 2010-4-22 14:49:30 | 显示全部楼层
mysql_fetch_array($query) 每执行一次,指针就自动往下移一位,直到移到没有数据为止,而我们的$info是已经把你想要的所有数据都提取好了的,所以用while实现不了,只能用foreach了。弱弱地问一下,你为什么那么钟情于while呢?
回复

使用道具 举报

 楼主| 发表于 2010-4-22 15:00:45 | 显示全部楼层
回复 4# lcnphp
我想用while做循环  他循环一次我就把第一条的留言信息输出来  而foreach是一次性输出来的,它不能把信息分割开。你看有没有其他的办法把信息分隔开呢??
回复

使用道具 举报

发表于 2010-4-22 15:04:21 | 显示全部楼层
回复 5# huangjinzt


    foreach比while更加方便,你不会用而已。方便的话+我qq 378107001
回复

使用道具 举报

本版积分规则