doubi7496 2013-01-18 07:51 采纳率: 0%
浏览 42
已采纳

分页在localhost上的Codeigniter中不起作用

I am new to Codeigniter. This is my first experience in Codeigniter. I have problem in pagination. I have tried lot of codes given on forums and blogs. Lastly I followed a tutorial, link: CodeIgniter from Scratch- Day 16 - Displaying & Sorting Tabular Data - Nettuts+

Here is my code:

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);
}

user_model.php

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;
}

users.php

<?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>

Please let me know if I am wrong?

  • 写回答

1条回答 默认 最新

  • douwei6478 2013-01-18 07:56
    关注

    Set your config like this

    $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);
    

    Please note / in site_url. It often happens that the url genetrated for pagination is like this

     http://localhost/myapp/index.php/admin/user10
    

    Which is wrong. If you put a slash you will have correct pagination links

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

    EDITS :

    your controller should look like this

    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);
        }
    }
    

    See the class name and site_url('class/method') and in your case site_url('user/index')

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
  • ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题
  • ¥15 帮我写一个c++工程
  • ¥30 Eclipse官网打不开,官网首页进不去,显示无法访问此页面,求解决方法
  • ¥15 关于smbclient 库的使用
  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?