2017-04-05 56 views
0

我有错误分页和刚读了这个问题:笨分页:错误自动增量数

Incrementing Operator in Foreach Loop for Pagination

它时,我的分页是活跃工作。当我的分页是不活动,我的网站在自动增量编号上有错误。这里的图片:

Page when my pagination is inactive

Page when my pagination is active

这里是我的模型:

public function countGate() 
    { 
     return $this->db->count_all_results("tbl_gate"); 
    } 

    public function paginationGate($limit, $start) 
    { 
     $this->db->select('*'); 
     $this->db->from('tbl_gate'); 
     $this->db->limit($limit, $start); 
     return $this->db->get(); 
    } 

这里是我的控制器:

public function gate() 
    { 
     $this->load->view('template/header'); 
     $this->load->view('admin/admin-header'); 

     $config = array(); 
     $config["base_url"] = base_url() . "index.php/admin/gate"; 
     $config["total_rows"] = $this->pagination_m->countGate(); 
     $config["per_page"] = 8; 
     $config["uri_segment"] = 3; 

     $this->pagination->initialize($config); 
     $page = ($this->uri->segment(3)) ? $this->uri->segment(3) : 0; 
     $data['allgate'] = $this->pagination_m->paginationGate($config["per_page"], $page); 
     $data['links'] = $this->pagination->create_links(); 

     $this->load->view('admin/admin-gate', $data); 
     $this->load->view('template/footer'); 
    } 

这是我的观点(带自动增量减去错误表) :

<table class="table table-bordered"> 
     <tr> 
      <th>#</th> 
      <th>Fullname</th> 
      <th>Gate</th> 
      <th>Password</th> 
      <th>Access</th> 
      <th>Active</th> 
      <th colspan="2">Action</th> 
     </tr> 
     <?php 
      $i = 1 + ($this->pagination->cur_page-1)*$this->pagination->per_page; 
      foreach ($allgate->result() as $gate){ 
     ?> 
     <tr> 
      <td><?= $i++ ?></td> 
      <td><?= $gate->Fullname ?></td> 
      <td><?= $gate->Username ?></td> 
      <td><?= $gate->Password ?></td> 
      <td><?= $gate->Level ?></td> 
      <td><?= $gate->Active ?></td> 
      <td><a href="<?= site_url('AdminUpdate/updateGate/'.$gate->IdGate)?>" data-toggle="modal" data-target="#update-gate">Edit</a></td> 
      <td><a href="<?= site_url('admindelete/deletegate/'.$gate->IdGate)?>">Delete</a></td> 
     </tr> 
     <?php } ?> 
     </table> 
+0

我已经更新的代码检查。 – Gaurav

+0

@Gaurav现在工作。对不起,没有注意到你给的所有更新。谢谢:D –

回答

1

它会工作。我正在使用相同的分页。 更新控制器:

public function gate() 
{ 
    $this->load->view('template/header'); 
    $this->load->view('admin/admin-header'); 

    $config = array(); 

    $config["uri_segment"] = 3; 
    $config["base_url"] = base_url("index.php/admin/gate"); 
    $config["per_page"] = 8; 

    //add this also 
    $config['use_page_numbers'] = TRUE; 
    $config['first_url'] = '1'; 

    $config["total_rows"] = $this->pagination_m->countGate(); 

    $this->pagination->initialize($config); 

    $page = ($this->uri->segment(3)) ? $this->uri->segment(3) : 0; 
    $offset = ($page == 0 ? 0 : ($page - 1) * $config["per_page"]); 

    $data['allgate'] = $this->pagination_m->paginationGate($config["per_page"], $offset)->result(); 
    $data['links'] = $this->pagination->create_links(); 

    $data['start'] = ($page == 0 ? 1 : (($page - 1) * $config["per_page"] + 1)); 

    $this->load->view('admin/admin-gate', $data); 
    $this->load->view('template/footer'); 
} 

更新视图:在控制器

<table class="table table-bordered"> 
    <tr> 
     <th>#</th> 
     <th>Fullname</th> 
     <th>Gate</th> 
     <th>Password</th> 
     <th>Access</th> 
     <th>Active</th> 
     <th colspan="2">Action</th> 
    </tr> 
     <?php foreach ($allgate as $gate){ ?> 
     <tr> 
      <td><?= $start; ?></td> 
      <td><?= $gate->Fullname ?></td> 
      <td><?= $gate->Username ?></td> 
      <td><?= $gate->Password ?></td> 
      <td><?= $gate->Level ?></td> 
      <td><?= $gate->Active ?></td> 
      <td><a href="<?= site_url('AdminUpdate/updateGate/'.$gate->IdGate)?>" data-toggle="modal" data-target="#update-gate">Edit</a></td> 
      <td><a href="<?= site_url('admindelete/deletegate/'.$gate->IdGate)?>">Delete</a></td> 
     </tr> 
     <?php 
      $start++; 
     } ?> 
</table> 
<ul class="pagination"> 
    <?php echo $data['links']; ?> 
</ul> 
+0

@FahmiPoetra我无法理解你的问题。以前分页活跃。 – Gaurav

+0

我没有看到$ data [“allgate”]中的控制器更新($ config [“per_page”],$ offset) - > result();对不起这是我的错。它的工作现在。谢谢:D –

+0

@Gaurav是它($ config [“per_page”],$ offset) - > result();或($ config [“per_page”],$ offset); –