Php 在本地主机上的Codeigniter中分页不起作用

Php 在本地主机上的Codeigniter中分页不起作用,php,codeigniter,pagination,Php,Codeigniter,Pagination,我是Codeigniter的新手。这是我第一次使用Codeigniter。我在分页方面有问题。我在论坛和博客上尝试了很多代码。最后,我学习了一个教程,链接: 这是我的密码: user.php public function index($offset=0) { $limit = 10; $this->load->model('user_model'); $results = $this->user_model-&g

我是Codeigniter的新手。这是我第一次使用Codeigniter。我在分页方面有问题。我在论坛和博客上尝试了很多代码。最后,我学习了一个教程,链接:

这是我的密码:

user.php

public function index($offset=0)
{
    $limit  =   10;
    $this->load->model('user_model');
    $results                =   $this->user_model->get_all_users($limit,$offset);
    $data['users']          =   $results['rows'];
    $data['num_results']    =   $results['num_rows'];

    $this->load->library('pagination');

    $config =   array();
    $config['base_url']     =   site_url('admin/user');
    $config['total_rows']   =   $data['num_results'];
    $config['per_page']     =   $limit;
    $config['uri_segment']  =   3;
    $this->pagination->initialize($config);
    $date['pagination'] =   $this->pagination->create_links();
    $data['page_title'] =   "List Of Users";
    $this->load->view('admin/users', $data);
}
function get_all_users($limit, $offset)
{
    $q  =   $this->db
                    ->select('user_id,user_email,login_name,phone_num,user_status')
                    ->from('tbl_user')
                    ->limit($limit,$offset);
    $ret['rows']    =   $q->get()->result();

    $q      =   $this->db
                        ->select('COUNT(*) as count', FALSE)
                        ->from('tbl_user');
    $tmp    =   $q->get()->result();
    $ret['num_rows']    =   $tmp[0]->count;
    return $ret;
}
<?php 
$this->load->view('includes/header');
$this->load->view('includes/menu-admin');
?>
<div id="container">

    <?php if(isset($users)) { ?>
            <p><?php $this->load->view('includes/footer'); ?></p>
        <table id="users_table" class="board">
            <tr>
                <th class="blue-gradient">#</th>
                <th class="blue-gradient">Email Address</th>
                <th class="blue-gradient">Login Name</th>
                <th class="blue-gradient">User Status</th>
                <th class="blue-gradient">Current Status</th>
            </tr>
            <?php $count=1; ?>
        <?php foreach ($users as $user) { ?>
            <tr id="user_<?php echo $user->user_id; ?>" class="darker-on-hover">
                <td><?php echo $count; ?></td>
                <td><?php echo anchor('admin/profile/view/'.$user->user_id,$user->user_email , 'class="view-profile-details"'); ?></td>
                <td><?php echo $user->login_name; ?></td>
                <td><?php echo $user->user_status; ?></td>
                <td>
                    <?php echo anchor('admin/user/edit/'.$user->user_id , '<img src="'.base_url().'images/edit.png" title="Edit User"/>'); ?>
                    <?php echo anchor('admin/user/remove/'.$user->user_id , '<img src="'.base_url().'images/remove.png" title="Remove User"/>', 'class="remove-user-event"'); ?>
                </td>
            </tr>
        <?php $count++; } ?>
        </table>



    <?php } ?>

    <div id="pageNum">
        <?php if(strlen($pagination)): ?>       
            Pages: <?php echo $pagination; ?>
        <?php endif; ?>
    </div>
</div>
user\u model.php

public function index($offset=0)
{
    $limit  =   10;
    $this->load->model('user_model');
    $results                =   $this->user_model->get_all_users($limit,$offset);
    $data['users']          =   $results['rows'];
    $data['num_results']    =   $results['num_rows'];

    $this->load->library('pagination');

    $config =   array();
    $config['base_url']     =   site_url('admin/user');
    $config['total_rows']   =   $data['num_results'];
    $config['per_page']     =   $limit;
    $config['uri_segment']  =   3;
    $this->pagination->initialize($config);
    $date['pagination'] =   $this->pagination->create_links();
    $data['page_title'] =   "List Of Users";
    $this->load->view('admin/users', $data);
}
function get_all_users($limit, $offset)
{
    $q  =   $this->db
                    ->select('user_id,user_email,login_name,phone_num,user_status')
                    ->from('tbl_user')
                    ->limit($limit,$offset);
    $ret['rows']    =   $q->get()->result();

    $q      =   $this->db
                        ->select('COUNT(*) as count', FALSE)
                        ->from('tbl_user');
    $tmp    =   $q->get()->result();
    $ret['num_rows']    =   $tmp[0]->count;
    return $ret;
}
<?php 
$this->load->view('includes/header');
$this->load->view('includes/menu-admin');
?>
<div id="container">

    <?php if(isset($users)) { ?>
            <p><?php $this->load->view('includes/footer'); ?></p>
        <table id="users_table" class="board">
            <tr>
                <th class="blue-gradient">#</th>
                <th class="blue-gradient">Email Address</th>
                <th class="blue-gradient">Login Name</th>
                <th class="blue-gradient">User Status</th>
                <th class="blue-gradient">Current Status</th>
            </tr>
            <?php $count=1; ?>
        <?php foreach ($users as $user) { ?>
            <tr id="user_<?php echo $user->user_id; ?>" class="darker-on-hover">
                <td><?php echo $count; ?></td>
                <td><?php echo anchor('admin/profile/view/'.$user->user_id,$user->user_email , 'class="view-profile-details"'); ?></td>
                <td><?php echo $user->login_name; ?></td>
                <td><?php echo $user->user_status; ?></td>
                <td>
                    <?php echo anchor('admin/user/edit/'.$user->user_id , '<img src="'.base_url().'images/edit.png" title="Edit User"/>'); ?>
                    <?php echo anchor('admin/user/remove/'.$user->user_id , '<img src="'.base_url().'images/remove.png" title="Remove User"/>', 'class="remove-user-event"'); ?>
                </td>
            </tr>
        <?php $count++; } ?>
        </table>



    <?php } ?>

    <div id="pageNum">
        <?php if(strlen($pagination)): ?>       
            Pages: <?php echo $pagination; ?>
        <?php endif; ?>
    </div>
</div>
users.php

public function index($offset=0)
{
    $limit  =   10;
    $this->load->model('user_model');
    $results                =   $this->user_model->get_all_users($limit,$offset);
    $data['users']          =   $results['rows'];
    $data['num_results']    =   $results['num_rows'];

    $this->load->library('pagination');

    $config =   array();
    $config['base_url']     =   site_url('admin/user');
    $config['total_rows']   =   $data['num_results'];
    $config['per_page']     =   $limit;
    $config['uri_segment']  =   3;
    $this->pagination->initialize($config);
    $date['pagination'] =   $this->pagination->create_links();
    $data['page_title'] =   "List Of Users";
    $this->load->view('admin/users', $data);
}
function get_all_users($limit, $offset)
{
    $q  =   $this->db
                    ->select('user_id,user_email,login_name,phone_num,user_status')
                    ->from('tbl_user')
                    ->limit($limit,$offset);
    $ret['rows']    =   $q->get()->result();

    $q      =   $this->db
                        ->select('COUNT(*) as count', FALSE)
                        ->from('tbl_user');
    $tmp    =   $q->get()->result();
    $ret['num_rows']    =   $tmp[0]->count;
    return $ret;
}
<?php 
$this->load->view('includes/header');
$this->load->view('includes/menu-admin');
?>
<div id="container">

    <?php if(isset($users)) { ?>
            <p><?php $this->load->view('includes/footer'); ?></p>
        <table id="users_table" class="board">
            <tr>
                <th class="blue-gradient">#</th>
                <th class="blue-gradient">Email Address</th>
                <th class="blue-gradient">Login Name</th>
                <th class="blue-gradient">User Status</th>
                <th class="blue-gradient">Current Status</th>
            </tr>
            <?php $count=1; ?>
        <?php foreach ($users as $user) { ?>
            <tr id="user_<?php echo $user->user_id; ?>" class="darker-on-hover">
                <td><?php echo $count; ?></td>
                <td><?php echo anchor('admin/profile/view/'.$user->user_id,$user->user_email , 'class="view-profile-details"'); ?></td>
                <td><?php echo $user->login_name; ?></td>
                <td><?php echo $user->user_status; ?></td>
                <td>
                    <?php echo anchor('admin/user/edit/'.$user->user_id , '<img src="'.base_url().'images/edit.png" title="Edit User"/>'); ?>
                    <?php echo anchor('admin/user/remove/'.$user->user_id , '<img src="'.base_url().'images/remove.png" title="Remove User"/>', 'class="remove-user-event"'); ?>
                </td>
            </tr>
        <?php $count++; } ?>
        </table>



    <?php } ?>

    <div id="pageNum">
        <?php if(strlen($pagination)): ?>       
            Pages: <?php echo $pagination; ?>
        <?php endif; ?>
    </div>
</div>

# 电子邮件地址 登录名 用户状态 现状
像这样设置配置

$config['base_url']     =   site_url('admin/user/');
$config['total_rows']   =   $data['num_results'];
$config['per_page']     =   $limit;
$config['uri_segment']  =   3;
$this->pagination->initialize($config);
 http://localhost/myapp/index.php/admin/user10
Class User Extends CI_Controller
{
    public function __construct()
    {
        parent::__construct();
    }
    public function index($offset=0)
    {
        $limit  =   10;
        $this->load->model('user_model');
        $results                =   $this->user_model->get_all_users($limit,$offset);
        $data['users']          =   $results['rows'];
        $data['num_results']    =   $results['num_rows'];

        $this->load->library('pagination');

        $config =   array();
        $config['base_url']     =   site_url('user/index');
        $config['total_rows']   =   $data['num_results'];
        $config['per_page']     =   $limit;
        $config['uri_segment']  =   3;
        $this->pagination->initialize($config);
        $date['pagination'] =   $this->pagination->create_links();
        $data['page_title'] =   "List Of Users";
        $this->load->view('admin/users', $data);
    }
}
请注意/在网站的url中。通常情况下,为分页生成的url是这样的

$config['base_url']     =   site_url('admin/user/');
$config['total_rows']   =   $data['num_results'];
$config['per_page']     =   $limit;
$config['uri_segment']  =   3;
$this->pagination->initialize($config);
 http://localhost/myapp/index.php/admin/user10
Class User Extends CI_Controller
{
    public function __construct()
    {
        parent::__construct();
    }
    public function index($offset=0)
    {
        $limit  =   10;
        $this->load->model('user_model');
        $results                =   $this->user_model->get_all_users($limit,$offset);
        $data['users']          =   $results['rows'];
        $data['num_results']    =   $results['num_rows'];

        $this->load->library('pagination');

        $config =   array();
        $config['base_url']     =   site_url('user/index');
        $config['total_rows']   =   $data['num_results'];
        $config['per_page']     =   $limit;
        $config['uri_segment']  =   3;
        $this->pagination->initialize($config);
        $date['pagination'] =   $this->pagination->create_links();
        $data['page_title'] =   "List Of Users";
        $this->load->view('admin/users', $data);
    }
}
这是错误的。如果你放一个斜杠,你将有正确的分页链接

http://localhost/myapp/index.php/admin/user/10
编辑:

您的控制器应该如下所示

$config['base_url']     =   site_url('admin/user/');
$config['total_rows']   =   $data['num_results'];
$config['per_page']     =   $limit;
$config['uri_segment']  =   3;
$this->pagination->initialize($config);
 http://localhost/myapp/index.php/admin/user10
Class User Extends CI_Controller
{
    public function __construct()
    {
        parent::__construct();
    }
    public function index($offset=0)
    {
        $limit  =   10;
        $this->load->model('user_model');
        $results                =   $this->user_model->get_all_users($limit,$offset);
        $data['users']          =   $results['rows'];
        $data['num_results']    =   $results['num_rows'];

        $this->load->library('pagination');

        $config =   array();
        $config['base_url']     =   site_url('user/index');
        $config['total_rows']   =   $data['num_results'];
        $config['per_page']     =   $limit;
        $config['uri_segment']  =   3;
        $this->pagination->initialize($config);
        $date['pagination'] =   $this->pagination->create_links();
        $data['page_title'] =   "List Of Users";
        $this->load->view('admin/users', $data);
    }
}

查看类名和
site\u url('class/method')
,在您的例子中,
site\u url('user/index')

您遇到了什么问题?当我单击下一页(即:)时,它会显示一个错误“404页面未找到”找不到您请求的页面。404找不到页面找不到您请求的页面。我已获得正确的链接。但还是不行Raheel我明白了。。它现在对我来说工作正常:)嗨,你能指导我吗,首页链接不工作了?有什么问题吗?