如何在codeigniter中显示数据库中的内容而无需从视图中调用控制器?

Sta*_*y J 2 php mysql codeigniter

我是codeigniter的新手.我按照视频教程成功创建了一个登录注册系统.注册或登录后,用户会到达名为members.php的页面.

members.php是一个视图.

我的控制器是main.php,model是model-users.php.

我希望members.php显示/拥有数据库中的内容,以便用户可以在登录或注册后读取它?

我在网上跟踪了一些资源,说不要从视图中调用控制器.如果不这样做我怎么能帮助上述?

谢谢

Jez*_*mas 10

我认为CodeIgniter文档实际上非常清晰,并且非常容易理解.不过,这里有一个如何构建应用程序的示例.

控制器:

<?php if (!defined('BASEPATH')) exit('No direct script access allowed');

class Members extends CI_Controller {
    function __construct() {
        parent::__construct();

        $this->load->model('members_model');
    }

    function index() {
        $data['members'] = $this->members_model->get_members();

        $this->load->view('header', $data);
        $this->load->view('members');
        $this->load->view('footer');
    }
}
Run Code Online (Sandbox Code Playgroud)

型号:

<?php if (!defined('BASEPATH')) exit('No direct script access allowed');

class Members_model extends CI_Model {

    function get_members() {
        $query = $this->db->get('members');
        return $query->result_array();
    }
}
Run Code Online (Sandbox Code Playgroud)

查看:

<?php

print_r($members);
Run Code Online (Sandbox Code Playgroud)

要访问上述页面,请访问http://yoursite.com/index.php/members.

您可以使用.htaccess文件index.php从URI中删除该段.index()运行控制器时会自动调用该方法.