[Codeigniter-users] ページネーションクラスについて

Back to archive index

宮澤 好幸 miyaz****@syste*****
2009年 11月 26日 (木) 10:05:39 JST


初めまして、宮澤です。
日本語版が出る前からCodeIgniterを使用しております。

現在Webシステムを作成しておりまして、ページャーはでるのですが、
2ページ目に入ってもアンカーがついていないところが「1」となって
おりまして、1ページ目の表記になっております。

データは2ページ目の表記になっておりまして、ページャーの指定ページ
の番号に移行しません。

ソースは以下になります。
よろしくお願いいたします。

function index($id = 1, $order = 1, $page = 1)
{
	$data = array();
	
	if($order == 1){
		$this->db->where('lid', $id);
		$this->db->where('flg', 1);
		$this->db->from('op_article');
		$count = $this->db->count_all_results();
	}else{
		$this->db->where('op_article.lid', $id);
		$this->db->where('op_article.flg', 1);
		$this->db->from('op_article');
		$this->db->join('op_report', 'op_report.aid = op_article.id');
		$this->db->where('op_report.report_flg', 1);
		$this->db->order_by('op_report.report_date', 'desc');
		$count = $this->db->count_all_results();
	}
	
    $this->load->library('pagination');
    $config['base_url'] = site_url('main/index/'.$id.'/'.$order.'/');
    $config['total_rows'] = $count;
    $config['first_link'] = '最初';
    $config['last_link'] = '最後';
    $config['per_page'] = 5;
    $config['num_links'] = 9;
    $this->pagination->initialize($config);
		
    if($page == 1){
   	 $page = $page - 1;
    }else{
	    $page = $page;
    }

	$this->db->where('op_article.lid', $id);
	$this->db->where('op_article.flg', 1);
	if($order == 1){
		$this->db->order_by('regist_datetime', 'desc');
	    $query = $this->db->get('op_article', 5, $page);
	}else{
		$this->db->select('op_article.id as id,op_article.regist_date as regist_date,op_article.regist_datetime as regist_datetime,op_article.date_key as date_key,op_article.lid as lid,op_article.title as title,op_article.text as text,op_article.flg as flg');
		$this->db->join('op_report', 'op_report.aid = op_article.id');
		$this->db->where('op_report.report_flg', 1);
		$this->db->order_by('op_report.report_date', 'desc');
	    $query = $this->db->get('op_article', 5, $page);
	}
    
	$data['db_data'] = $query->result();
    $data['pager'] = $this->pagination->create_links();

	//大カテゴリ
	$data['l_category'] = $this->Sql->get_category_l();
	
	//新着5件
	$data['article'] = $this->Sql->get_new_article_id($id);
	
	//大カテゴリ内容
	$data['lcat'] = $this->Sql->get_category_l_datails($id);
	
	//中カテゴリ
	$data['mcat'] = $this->Sql->get_category_m_($id, $data['lcat']->number);
	$data['scat'] = $this->Sql->get_category_s_();

	$data['word2'] = $this->Sql->get_get_keyword_id($id);
	$data['report'] = $this->Sql->get_get_report($id);

	$data['date'] = $this->Sql->get_article_date($id);
	$data['date_data'] = $this->Sql->get_article_sum($id);
	
	
	$data['lid'] = $id;
	$data['word'] = $this->Sql->get_keyword_main($id);
	$this->load->view('main/index', $data);
}




Codeigniter-users メーリングリストの案内
Back to archive index