2016-03-08 2 views
-1

Я перечисляю зарегистрированного сотрудника из db и показываю 10 сотрудников на страницу. Для этой цели я использую разбиение на страницы кода.Codeignator-Pagination-show empty data after delete/edit

Если я удалил сотрудника на странице 2, после удаления мне нужно перейти на страницу 2 показывает остальную часть сотрудников на странице 2.

Вид:

<a href="<?php echo $path;?>welcome/delete_employee/employeeid/<?php echo $row->empID;?>/pageNum/<?php echo $currentPage; ?>" onClick="return delAlert()";><img src="<?php echo $path;?>/img/delete.png" height="30px" width="30px" /></a> 

Контроллер:

public function delete_employee() 
     { 


      $session_id = $this->session->userdata('logged_in');     

       if($session_id) { 


       $array = $this->uri->uri_to_assoc(3); 
       $count=$array['pageNum']-1; 
       $i=$count*10; 

       $this->load->model('welcomemodel','m',true); 
       $this->m->deleteemployee($array['employeeid']); 



        $config = array(); 
        $config["base_url"] = base_url() . "welcome/employee"; 
        $config["total_rows"] =$this->m->employee_count(); 
        $config["per_page"] = 10; 
        $config["uri_segment"] = $array['pageNum']; 







        $data['showData'] = $this->m->getEmployee($config["per_page"], $i); 

        $this->pagination->initialize($config); 
        $data["links"] = $this->pagination->create_links(); 
        $data["currentPage"] =$array['pageNum']; 


        $this->load->view('header'); 
        $this->load->view('employee',$data);  




       } else { 

        $this->load->view('session_expired'); 

       } 



     } 

Модель:

public function deleteemployee($employeeid) 
     { 
      $this->db->where('empID',$employeeid); 
     $this->db->delete('employee'); 
     return $this->db->affected_rows(); 

    } 
public function getEmployee($limit, $start) 
{ 
    $this->db->limit($limit, $start); 

    $this->db->select() 
       ->from('employee') 
       ->order_by('emp_fname'); 

    $this->db->join('service', 'employee.serviceID = service.serviceID','left'); 
    $query=$this->db->get(); 

return $query; 


} 

    public function employee_count() 
    { 
     return $this->db->count_all("employee"); 
    } 

Но теперь ссылка пагинация показывает ссылку первой страницы, даже если отображается содержимое второй страницы ....

+0

'$ page = ($ this-> uri-> segment (3))? $ this-> uri-> segment (3): 0; 'неверно. Третий сегмент - это идентификатор вашего сотрудника, а не номер вашей страницы. – AdrienXL

+0

@ AdrienXL Я отредактировал мой код и содержимое, показывая неправильную ссылку на страницы. Отображение ссылки первой страницы, даже если содержимое второй страницы отображается после удаления :( –

ответ

0

метод модель

public function employee_count() 
{ 
    $result = $this->db->get('employee'); 
    if ($result->num_rows() > 0) { 
     //employee record available 
     return true; 
    } 
    else 
    { 
     // employee record not available 
     return false; 

    } 
} 

Посмотреть

<?php 
    $getData = $this->[your model name]->getEmployee($limit, $start); 
?> 

<?php if ($getData): ?> 
    //Your Pagination Part Here..... 
<?php else: ?> 
    // else Nothing 
<?php endif ?>