Php 使用Codeigniter获取数据库的记录

Php 使用Codeigniter获取数据库的记录,php,codeigniter,Php,Codeigniter,我是Codeigniter框架的初学者,也在youtube上学习 在my admin.php中,代码是 <?php class Admin extends MY_Controller { public function dashboard(){ $this->load->model('articlesmodel'); $articles = $this->articlesmodel->articles_list();

我是Codeigniter框架的初学者,也在youtube上学习

在my 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]);
    }
}
?>

而在my dashboard.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>

高级工程师
标题
行动
1.
没有发现任何记录

我正在以表格格式从数据库中获取文章,但出现以下错误:未定义变量:dashboard.php页面中的articlescontroller

更改这些行

$articles = $this->articlesmodel->articles_list();

$this->load->view('admin/dashboard', ['articles'=> $articles]);
对此

$data['articles'] = $this->articlesmodel->articles_list();

$this->load->view('admin/dashboard',$data);
提示: 尝试查看文档语法


控制器

更改这些行

$articles = $this->articlesmodel->articles_list();

$this->load->view('admin/dashboard', ['articles'=> $articles]);
对此

$data['articles'] = $this->articlesmodel->articles_list();

$this->load->view('admin/dashboard',$data);
提示: 尝试查看文档语法


管理
控制器类定义中将
我的控制器
更改为
CI\U控制器

在Codeigniter中创建控制器类时,应始终扩展
CI\U控制器
class。因为$this->load()函数是在
CI\u Controller
类中实现的。请参见

最佳做法是创建一个数组并将其传递到view()函数中,而不是在view()函数参数中初始化数组。例:

$data['articles'] = $this->articlesmodel->articles_list();
$this->load->view('admin/dashboard',$data);

Admin
Controller类定义中的
My\u Controller
更改为
CI\u Controller

在Codeigniter中创建控制器类时,应始终扩展
CI\U控制器
class。因为$this->load()函数是在
CI\u Controller
类中实现的。请参见

最佳做法是创建一个数组并将其传递到view()函数中,而不是在view()函数参数中初始化数组。例:

$data['articles'] = $this->articlesmodel->articles_list();
$this->load->view('admin/dashboard',$data);

试试这个$data['articles']=$this->articlesmodel->articles_list();回声“;打印(数据);回声“;退出();发布完整的错误also@AhilKhan勾选上面的答案,很好地解释了这个$data['articles']=$this->articlesmodel->articles_list();回声“;打印(数据);回声“;退出();发布完整的错误also@AhilKhan检查上面的答案,很好地解释了My_控制器是从CI扩展而来的_Controller@AhilKhan然后,您只能使用My_Controller类中的任何内容。为了使用CI_控制器的加载函数,必须在My_控制器内创建一个函数,该函数从CI_控制器返回加载函数。请记住,这种继承不是从CI扩展doMy_控制器的正确方法_Controller@AhilKhan然后,您只能使用My_Controller类中的任何内容。为了使用CI_控制器的加载函数,必须在My_控制器内创建一个函数,该函数从CI_控制器返回加载函数。记住,这种继承不是一种正确的方式