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

[已解决] 控制器像views中传递一个数组,怎么写????

[复制链接]
发表于 2010-11-7 22:04:05 | 显示全部楼层 |阅读模式
首先说下我的model文件夹下的类的函数:这个函数执行查询数据库:
function show_order($card){
           $sql="select * from `order_tb` where card='$card'";
           $query=$this->db->query($sql);
        return $query->result();               
               
}
我是在控制器里面调用这个函数的:代码如下:
                      $this->load->model('Mguestorder');
                   $data=$this->Mguestorder->show_order($card);
                 //  echo $data->name."<br>";
                //   echo $ordermsg->name."<br>";
                 //  print_r($data);
                //   exit;
                                    $this->load->view('order_room_show',$data);
其中注释的部分是用来做测试的。其实我这个查询返回的结果应该是一个一维数组,我的数据库有 id name card 等八个字段,我就是根据控制器里传过去的card参数查询了数据库里面的一条记录,应该返回的是一个一维数组吧。我用print_r($data)输出时显示如下:
Array ( [0] => stdClass Object ( [id] => 18 [card] => 3333333333200 [name] => sadfa [tel] => asdfas [room_sort] => 2 [room_num] => 2002 [start_date] => 2010-11-07 [order_money] => 400 ) )。可是当我$data->name时却出现错误,在views里面这样输出总是提示$data是个没有定义的变量,这个到底该怎么输出????
发表于 2010-11-7 22:25:16 | 显示全部楼层
你都print_r出来$data的值了,很明显要$data[0]->name,
你要的应该是用row()方法$query->row();
http://codeigniter.org.cn/user_guide/database/results.html
发表于 2010-11-11 17:25:53 | 显示全部楼层
哥, 不是有个result_array吗。
发表于 2010-11-22 17:52:04 | 显示全部楼层
result()只能通过对象的形式调用
$obj->id
要使用数组的话,可以使用result_array()或者result(false)
发表于 2010-11-23 14:38:24 | 显示全部楼层
按照你的输出方法
你在model层返回的时候应该是$query->row();这样就可以直接在view层用$result->id来显示

本版积分规则