2017-04-05 15 views
0

私はエラーページネーションを持っているだけで、この質問を読んで:私のページネーションはアクティブときCodeIgniterのページネーション:エラー自動インクリメント番号

Incrementing Operator in Foreach Loop for Pagination

ITSは取り組んでいます。私のページネーションがアクティブでない場合、私のウェブは自動インクリメント番号にバグがあります。ここに絵があります:

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

($ config ["per_page"]、$ offset) - > result();を持っている$ data ["allgate"]でコントローラの更新を見ていませんでした。申し訳ありません、私の悪い。今働いている。ありがとう:D –

+0

@ Gauravはそれです($ config ["per_page"]、$ offset) - > result();または($ config ["per_page"]、$ offset); –

関連する問題