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

[已解决] 模型穿过来的数据怎么在view里显示(在线等)

[复制链接]
发表于 2010-5-23 12:25:56 | 显示全部楼层 |阅读模式
我在模型里查询数据库库以后返回一个function select()
        {
                $this->load->database();
                $query=$this->db->query("select * from message");
                /*foreach ($query->result_array() as $row)
                {
                   echo $row['title']."<br>";
                   echo $row['message'];
                   echo "<hr>";
                }*/
                return $query->result();
        }
然后我在控制器里面有一个方法是这样的
function getdata()
        {
                $this->load->model('index_model');
                $data=array($this->index_model->select());
                $this->load->view('chakan',$data);
        }
为什么我的视图chakan在里面收不到数据
 楼主| 发表于 2010-5-23 12:36:54 | 显示全部楼层
问题已经得到解决是因为传过来的数据是一个对象类型
 楼主| 发表于 2010-5-23 12:48:41 | 显示全部楼层
大侠们还是没有彻底解决在控制器中用foreach循环然后用$row->title是可以的,但是为什么发送到视图中的时候用foreach同样的方法为什么就不行了,请哪位大侠帮小弟讲解一下错误代码如下
A PHP Error was encountered
Severity: Notice

Message: Undefined variable: data

Filename: views/chakan.php

Line Number: 1

A PHP Error was encountered
Severity: Warning

Message: Invalid argument supplied for foreach()

Filename: views/chakan.php

Line Number: 1
发表于 2010-5-23 13:12:12 | 显示全部楼层
无码。。。。。。。。
 楼主| 发表于 2010-5-23 13:23:03 | 显示全部楼层
视图
<?php
/*
控制器程序
*/
class Login extends Controller
{
        function Login()
        {
                parent::Controller();
        }
        //构造
        function index_view()
        {
                $this->load->view('index');
        }
        //成功页面的
        function show()
        {
                $this->load->model('index_model');
                $this->index_model->inter();
                $this->load->view('chenggong');
                //$this->index_model->select();
        }
        function getdata()
        {
                $this->load->model('index_model');
                $data=$this->index_model->select();
                echo $data;
                $this->load->view('chakan',$data);
        }
}
?>
模型
<?php
class Index_model extends Model
{
        function Index_model()
        {
                 parent::Model();
        }
        function inter()
        {
                $this->load->database();
                $title=$_POST['title'];
                $message=$_POST['message'];
                $this->db->query("INSERT INTO `book`.`message` (`id` ,`title` ,`message`) VALUES ('NULL' , '$title', '$message')");
        }
        //查询
        function select()
        {
                $this->load->database();
                $query=$this->db->query("select * from message");
                return $query->result();
        }
}
?>
视图代码
<?php foreach($data as $row):?>

title<p><?php echo $row->title;?></p>
<br>
message<br>
<p><?php echo $row->message;?></p>
<hr>
<?php endforeach;?>
 楼主| 发表于 2010-5-23 13:31:10 | 显示全部楼层
我看了一下api总算是解决了
<?php
class Blog extends Controller {

function index()
{
  $data['todo_list'] = array('Clean House', 'Call Mom', 'Run Errands');

  $data['title'] = "My Real Title";
  $data['heading'] = "My Real Heading";
  
  $this->load->view('blogview', $data);
}
}
?>
重要的是给个名字$data['todo_list']然后在到前台显示就没问题了
发表于 2010-5-23 14:19:52 | 显示全部楼层
楼主的问题手册都有详细说明,如果仔细看几分钟就能解决了。
 楼主| 发表于 2010-5-23 20:11:51 | 显示全部楼层
恩恩,HEX说的对

本版积分规则