[英]codeigniter pagination links exceeded
我的网站上有此分页。 我的问题是下面的链接过多。 例如,它转到页面228,并且那里不再有数据。
这是我下面的控制器代码
public function index(){
$this->data['title'] = 'Programs | Spring Rain Global Consultancy Inc';
$this->data['active_menu'] = 'programs';
$this->data['active_link'] = 'program_menu';
$config = array();
$config['base_url'] = base_url(). "programs/index";
$config['total_rows'] = $this->am->record_count();
$config['per_page'] = 12;
$config['uri_segment'] = 3;
$choice = $config['total_rows'] / $config['per_page'];
$total_rows = $config['total_rows'] = $this->am->record_count();
$config['num_links'] = round($choice);
$this->pagination->initialize($config);
$page = ($this->uri->segment(3)) ? $this->uri->segment(3) : 0;
$this->data['fecth_activities'] = $this->am->getAllActivities($config['per_page'], $page);
$this->data['links'] = $this->pagination->create_links();
//echo "<pre>";
//print_r($this->data['links']);
//echo "</pre>";
$this->load->view('pages/header', $this->data);
$this->load->view('templates/programs', $this->data);
$this->load->view('pages/footer');
$this->load->view('pages/footer_below');
}
这是我的下面的模型
class Activities_model extends CI_Model{
public function record_count(){
return $this->db->count_all('seminars');
}
public function getAllActivities($start, $limit){
return $this->db->limit($start, $limit)
->select('seminars.id,
seminars.category,
seminars.thumb,
seminars_category.id,
seminars_category.category,
seminars_category.url,
seminars_category.date,
seminars_category.abvr'
)
->from('seminars')
->join('seminars_category', 'seminars_category.id = seminars.category')
->where('seminars.id =', 1)
->or_where('seminars.id =', 7)
->or_where('seminars.id =', 12)
->or_where('seminars.id =', 20)
->or_where('seminars.id =', 24)
->or_where('seminars.id =', 29)
->or_where('seminars.id =', 77)
->or_where('seminars.id =', 84)
->or_where('seminars.id =', 103)
->or_where('seminars.id =', 157)
->or_where('seminars.id =', 187)
->or_where('seminars.id =', 234)
->or_where('seminars.id =', 241)
->or_where('seminars.id =', 308)
->or_where('seminars.id =', 314)
->or_where('seminars.id =', 390)
->or_where('seminars.id =', 407)
->or_where('seminars.id =', 414)
->or_where('seminars.id =', 429)
->or_where('seminars.id =', 455)
->or_where('seminars.id =', 462)
->or_where('seminars.id =', 511)
->or_where('seminars.id =', 537)
->or_where('seminars.id =', 573)
->or_where('seminars.id =', 591)
->or_where('seminars.id =', 641)
->order_by('seminars_category.date', 'DESC')
->get()->result_object();
$query = $this->db->get('seminars');
if($query->num_rows > 0){
foreach($query->result() as $row){
$data[] = $row;
}
return $data;
}
return false;
}
}
这个东西有效,但只有下面的链接超过了228。
尝试这个,
class Activities_model extends CI_Model {
public function record_count() {
$this->db->where('seminars.id =', 1)
->or_where('seminars.id =', 7)
->or_where('seminars.id =', 12)
->or_where('seminars.id =', 20)
->or_where('seminars.id =', 24)
->or_where('seminars.id =', 29)
->or_where('seminars.id =', 77)
->or_where('seminars.id =', 84)
->or_where('seminars.id =', 103)
->or_where('seminars.id =', 157)
->or_where('seminars.id =', 187)
->or_where('seminars.id =', 234)
->or_where('seminars.id =', 241)
->or_where('seminars.id =', 308)
->or_where('seminars.id =', 314)
->or_where('seminars.id =', 390)
->or_where('seminars.id =', 407)
->or_where('seminars.id =', 414)
->or_where('seminars.id =', 429)
->or_where('seminars.id =', 455)
->or_where('seminars.id =', 462)
->or_where('seminars.id =', 511)
->or_where('seminars.id =', 537)
->or_where('seminars.id =', 573)
->or_where('seminars.id =', 591)
->or_where('seminars.id =', 641)
> from('seminars');
return $this->db->count_all_results();
}
public function getAllActivities($start, $limit) {
return $this->db->limit($start, $limit)
->select('seminars.id,
seminars.category,
seminars.thumb,
seminars_category.id,
seminars_category.category,
seminars_category.url,
seminars_category.date,
seminars_category.abvr'
)
->from('seminars')
->join('seminars_category', 'seminars_category.id = seminars.category')
->where('seminars.id =', 1)
->or_where('seminars.id =', 7)
->or_where('seminars.id =', 12)
->or_where('seminars.id =', 20)
->or_where('seminars.id =', 24)
->or_where('seminars.id =', 29)
->or_where('seminars.id =', 77)
->or_where('seminars.id =', 84)
->or_where('seminars.id =', 103)
->or_where('seminars.id =', 157)
->or_where('seminars.id =', 187)
->or_where('seminars.id =', 234)
->or_where('seminars.id =', 241)
->or_where('seminars.id =', 308)
->or_where('seminars.id =', 314)
->or_where('seminars.id =', 390)
->or_where('seminars.id =', 407)
->or_where('seminars.id =', 414)
->or_where('seminars.id =', 429)
->or_where('seminars.id =', 455)
->or_where('seminars.id =', 462)
->or_where('seminars.id =', 511)
->or_where('seminars.id =', 537)
->or_where('seminars.id =', 573)
->or_where('seminars.id =', 591)
->or_where('seminars.id =', 641)
->order_by('seminars_category.date', 'DESC')
->get()->result_object();
$query = $this->db->get('seminars');
if ($query->num_rows > 0) {
foreach ($query->result() as $row) {
$data[] = $row;
}
return $data;
}
return false;
}
}
您正在对数据库中的所有元素进行计数……在record_count函数的条件下,它可能会解决您的问题
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.