2012-12-12 96 views
-1

我的控制器没有通过$data到我的视图,我不知道为什么不。我正在重复使用以前项目的代码,这些代码运行良好,我当然明白如何使用$数据传递的想法。但是也许我在复制代码时漏掉了一些东西?

为了测试目的,我在里面放入了变量$data['hello']。正如你所看到的从输出$hello甚至没有通过。 if失败,else代码正确运行,这意味着正在加载视图文件本身。

控制器:

function users() { 
    $data['title'] = 'users'; 
    $data['users'] = $this->main_m->get_users(); 
    $data['hello'] = 5; 
    $this->load->view('users', $data); 
} 

检视:

<?php 
echo $hello; 
if ($users->num_rows != 0) { 
    foreach ($users->result() as $user) { 
    } 
} else { 
    echo "No users."; 
} 

输出(删节):

A PHP Error was encountered 
Message: Undefined variable: hello 
Line Number: 2 
A PHP Error was encountered 
Message: Undefined variable: users 
Line Number: 3 
A PHP Error was encountered 
Message: Trying to get property of non-object 
Line Number: 3 

No users. 

编辑:上请求的详细信息: 型号:

public function get_users($amount = 0, $offset = 0) { 
    $this->db->from('users'); 
    $this->db->order_by('l_name', 'desc'); 
    if ($amount != 0) 
     $this->db->limit($amount, $offset); 
    return $this->db->get(); 
} 
+0

什么是您的模型函数get_users() – iijb

+0

在上面的编辑中添加。 – Chro

+0

你确定你在'users.php'视图文件中的视图中运行代码吗? –

回答

0

我总是做这样的 模型改变为

$query = $this->db->get(); 
return $query->result(); 

,并鉴于

if (count($users)> 0) { 
foreach ($users as $user) { 
echo $user['name']; 
} 
} else { 
echo "No users."; 
} 

希望这有助于

问候

iijb

0

在将一些数据发送到$data阵列之前,只需编写$data = array();

function users() { 
$data = array(); 
$data['title'] = 'users'; 
$data['users'] = $this->main_m->get_users(); 
$data['hello'] = 5; 
$this->load->view('users', $data); 
} 
0

我认为你可以用一些简单的var_dump()检查来解决你的问题。

  1. 通过var_dump()来检查模型中出现什么$ data ['users'] - 这是一个对象吗? var_dump()$ data ['users'] - > result()会发生什么?
  2. 然后,视图中的var_dump()$数据 - 它是否包含所有部分?

事情是,甚至向我们展示你的模型函数并不能证明你得到了真正的数据结果。检查一下。你的代码一目了然,所以我不认为这是问题存在的地方。

0

有一些非常基本的错误。因此,请离开该控制器并进行一次完整性检查。首先确认您的欢迎视图正在工作。如果是去欢迎控制器,并把这个在索引方法

$data['here'] = 'we are here' ; 
    $this->load->view('welcome_message', $data); 

然后在某个地方的欢迎。php查看文件

<?php echo $here ?> 

您不需要设置:$ data = array(); 然而,有些人建议,因为即使你不创建任何数据变量,你不会得到一个错误,如果它在视图中调用$ this-> load-> view('welcome_message',$ data);

最后我建议看这个

function users() { 
    $data['title'] = 'users'; 
    $data['users'] = $this->main_m->get_users(); 
    $data['hello'] = 5; 
    $this->load->view('users', $data); 
} 

让我们看看你有方法称为用户,返回被叫用户的对象,一个叫做用户视图 - 这可能会比较混乱! :-)

相关问题