2013-01-18 98 views
0

我是Codeigniter的新手。这是我在Codeigniter上的第一次经历。我在分页时遇到问题。我已经在论坛和博客上尝试了很多代码。最后我也跟着教程链接:CodeIgniter from Scratch- Day 16 - Displaying & Sorting Tabular Data - Nettuts+分页不能在本地主机上的Codeignitor上工作

这里是我的代码:

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> 

请让我知道如果我错了? 在此先感谢。

+0

你遇到什么问题? –

+0

当我点击下一页时(例如:http://localhost/wmss/index.php/admin/user/3) 它显示一个错误 “404找不到页面” 找不到您请求的页面。 – Sam

+0

它显示什么错误? –

回答

2

设置你的配置是这样

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

请注意/在SITE_URL。它经常发生的url分页是这样的

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

这是错误的。如果你把一个斜线,你将有正确的分页链接

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

EDITS:

你的控制器看起来应该是这样

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_url('class/method'),并在你的情况site_url('user/index')

+0

我已经得到正确的链接。 http://localhost/wmss/index.php/admin/user/3 但仍然不起作用 – Sam

+0

@Sam查看编辑 –

+0

感谢Raheel,我明白了..它现在对我来说很好:) – Sam

相关问题