【发布时间】:2018-06-04 01:47:18
【问题描述】:
我有员工的出勤详细信息,我想用分页显示这些详细信息,但问题是分页从不同的页码开始。对于某些用户,它从第一页开始,而对于其他用户,它从第 2、第 5 页开始。虽然分页应该从每个用户的第一页开始。 我不知道问题出在哪里。我比较新鲜。请指导我。
控制器:
public function attendance($biometric_reg_number) {
$this->load->helper('form');
$this->load->model('Attendance_model', 'attendances');
$this->load->library('pagination');
$config = [
'base_url' => base_url("admin/attendance/attendance/{$biometric_reg_number}"),
'per_page' => 30,
'total_rows' => $this->attendances->filter_attenceby_admin_num_rows($biometric_reg_number),
'full_tag_open' => "<ul class='pagination'>",
'full_tag_close' => "</ul>",
'first_link' => "First",
'first_tag_open' => '<li>',
'first_tag_close' => '</li>',
'last_link' => 'Last',
'last_tag_open' => '<li>',
'last_tag_close' => '</li>',
'next_tag_open' => '<li>',
'next_tag_close' => '</li>',
'prev_tag_open' => '<li>',
'prev_tag_close' => '</li>',
'num_tag_open' => '<li>',
'num_tag_close' => '</li>',
'cur_tag_open' => "<li class='active'><a>",
'cur_tag_close' => '</a></li>',
];
$this->pagination->initialize($config);
$this->load->model('Attendance_model', 'attendances');
$attendances = $this->attendances->find_attendance_detail($biometric_reg_number, $config['per_page'], $this->uri->segment(5));
$this->load->view('admin/attendance', ['attendances' => $attendances]);
}
型号:
public function find_attendance_detail($biometric_reg_number, $limit, $offset) {
$q = $this->db->select('*')
->from('basic_detail')
->join('employeedata', "employeedata.biometric_reg_number = basic_detail.biometric_reg_number")
->where('basic_detail.biometric_reg_number', $biometric_reg_number)
->limit($limit, $offset)
->order_by('employee_date', 'DESC')
->get();
return $q->result();
}
public function filter_attenceby_admin_num_rows($biometric_reg_number) {
$q = $this->db->select('*')
->from('basic_detail')
->join('employeedata', "employeedata.biometric_reg_number = basic_detail.biometric_reg_number")
->where('basic_detail.biometric_reg_number', $biometric_reg_number)
//->order_by('employee_date','DESC')
->get();
return $q->num_rows();
}
【问题讨论】:
-
您的页码似乎是 $biometric_reg_number。对于您显示的那些屏幕截图,您没有显示正在使用的 url(只是控制器 / 以及它的所有其余部分)。
-
这是我显示详细信息 (/admin/attendance/attendance/48) 时的第一个 url,其中 48 是生物识别号码,当我分页时,url 是 (/admin/attendance/attendance/48/60 )。我每页显示 30 个。
-
48 开头的页码是多少?
-
从第二页开始。我的意思是活动链接在第二个,而它应该从第一页开始。
标签: php mysql codeigniter pagination