2017-04-05 10 views
0

ich Fehler Paginierung haben und lesen Sie einfach diese Frage:Codeigniter Paginierung: Fehler Autoincrement Anzahl

Incrementing Operator in Foreach Loop for Pagination

Seine Arbeit als meine Paginierung aktiv ist. Wenn meine Paginierung inaktiv ist, hat mein Web Bugs auf Autoinkrementnummer. Hier ist das Bild:

Page when my pagination is inactive

Page when my pagination is active

Hier ist mein Modell:

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

Hier ist mein Controller:

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

Hier ist meine Ansicht (Tabelle mit autoincrement minus bug) :

<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

Ich habe aktualisierten Code in Controller es überprüfen. – Gaurav

+0

@Gaurav funktioniert jetzt. Tut mir leid, dass du nicht bemerkt hast, dass du das Update gibst. Danke: D –

Antwort

1

Es wird funktionieren. Ich benutze dieselbe Paginierung. Update-Controller:

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

Aktualisiert Ausblick:

<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 Ich kann deine Frage nicht verstehen. Bisherige Paginierung aktiv. – Gaurav

+0

Ich habe das Controller-Update in $ data ["allgate"] nicht gesehen, das hat ($ config ["per_page"], $ offset) -> result(); Entschuldigung, mein fehler. Es funktioniert jetzt. Danke: D –

+0

@Gaurav ist es ($ config ["per_page"], $ offset) -> result(); oder ($ config ["per_page"], $ offset); –