我是Codeigniter框架的初学者,我也在向youtube学习
在我的admin.php代码中
<?php
class Admin extends MY_Controller {
public function dashboard(){
$this->load->model('articlesmodel');
$articles = $this->articlesmodel->articles_list();
$this->load->view('admin/dashboard', ['articles'=> $articles]);
}
}
?>
在我的仪表板中。PHP代码为
<table class="table">
<thead>
<th>Sr. No</th>
<th>Title</th>
<th>Action</th>
</thead>
<tbody>
<?php if ( count($articles) ):?>
<?php foreach($articles as $article): ?>
<tr>
<td>1</td>
<td>
<?= $article->title ?>
</td>
<td>
<a href="" class="btn btn-info">Edit</a>
<a href="" class="btn btn-danger">Delete</a>
</td>
</tr>
<?php endforeach; ?>
<?php else:?>
<tr>
<td colspan="3">No Records Found</td>
</tr>
<?php endif;?>
</tbody>
</table>
我正在以表格格式从数据库中获取文章,但是出现以下错误:未定义的变量:文章,在dashboard.php页面中
答案 0 :(得分:2)
My_Controller
控制器类定义中的CI_Controller
更改为Admin
。
在Codeigniter中创建控制器类时,应始终扩展CI_Controller
类。因为$ this-> load()函数是在CI_Controller
类中实现的。请参见documentation
最佳做法是创建一个数组并将其传递给view()函数,而不是在view()函数参数中初始化数组。例如:
$data['articles'] = $this->articlesmodel->articles_list();
$this->load->view('admin/dashboard',$data);
答案 1 :(得分:1)
控制器
更改这些行
$articles = $this->articlesmodel->articles_list();
$this->load->view('admin/dashboard', ['articles'=> $articles]);
对此
$data['articles'] = $this->articlesmodel->articles_list();
$this->load->view('admin/dashboard',$data);
提示: 尝试看看文档语法