2015-06-13 57 views
0

现在我使用codeigniter创建一个项目。但是,我收到了一条错误消息“PHP错误wasArray to string conversion”。怎么了?由于之前...错误“PHP错误wasArray to string conversion”

enter image description here

这是我的控制器:

public function index($page = 'dashboard') { 
    $data['num_rows'] = $this->admin_produk_model->count_product(); 

    $this->load->view('admin/templates/header', $data); 
    $this->load->view('admin/templates/sidebar', $data); 
    $this->load->view('admin/pages/' . $page, $data); 
    $this->load->view('admin/templates/footer', $data); 

} 

我的模型:

public function count_product() { 
    $this->db->select('*')->from('produk'); 
    $q = $this->db->get(); 
    return $q->num_rows(); 
} 

我的观点:

<span class="info-box-number"><?php echo ['num_rows'];?></span> 
+1

'[ 'NUM_ROWS']'是一个数组。你应该使用set view变量。在这种情况下,它可能是'$ num_rows'。 –

+0

鉴于'$ data ['num_rows']'成为$ num_row。但它也是阵列根据您的模型 – splash58

+0

工作正常,感谢兄弟@JonStirling –

回答

1

$q->num_rows()在您的模型中返回一个对象,并且您正在传递该对象以正确查看,现在您只需在视图文件中使用$num_rows即可显示它。

<span class="info-box-number"><?php echo $num_rows;?></span> 

<span class="info-box-number"><?=$num_rows;?></span> 
+0

我同意这个答案。你认为这个问题是存在的。您正在将模型中的信息正确地传递给控制器​​以查看,但是在视图中没有使用正确的语法。 – CodeGodie

0

当您使用$data变量笨发送DATAS,可以直接访问使用键名作为变量名的DATAS即

$data['num_rows'] = $this->admin_produk_model->count_product(); 

然后在您的视图页面访问它像$num_rows

您正在收到该错误,因为您正尝试使用echo数组。 你必须使用print_r()功能打印

所以不是这个

<span class="info-box-number"><?php echo ['num_rows'];?></span> 

做这个

<span class="info-box-number"><?php print_r($num_rows);?></span> 
+0

它们也可以使用'echo $ num_rows','print_r'不是必需的。 – CodeGodie