簡體   English   中英

分頁CI合並表

[英]pagination CI merge table

我需要聯合桌上的CI分頁方面的幫助。

以下代碼不起作用。 所有信息都顯示在單個頁面中,但是鏈接($ this-> pagination-> create_links();)顯示正確的頁面數量以及正確的頁面調度。 每當我單擊下一頁或其他頁面時,它都會顯示相同的結果。 任何使這項工作成功的建議。 謝謝。

public function last_three_months(){
$this->load->model('mymodel');
$this->load->database();
$this->load->library('btree');
$this->load->library('session');
$this->load->library('string');
$this->load->library("Pagination");



    if(date("l",strtotime('now')) == "Monday")
        $isMonday = strtotime('now');
    else
        $isMonday = strtotime('last Monday');
    $min = $isMonday - 7257600; // 7257600 = 12 weeks
    $max = strtotime('now');
    //echo(date("l d M Y",$duration));  

    $result = $this->mymodel->query('SELECT DISTINCT pi.ID PLAN_ID, pi.IMP_PLAN_DATE DUE_DATE, pi.CHANGE_TICKET CHANGE_TICKET, 
    pi.PLAN_DESC PLAN_DESC, pi.EC_STAT EC_STAT, per_info.ID PERSON_ID, per_info.FIRSTNAME OWNER_FIRST,per_info.LASTNAME OWNER_LAST,ps.STATUS PLAN_STAT, 
    pi.TIMESTAMP TIMESTAMP, sn.SN SN, loc.ABBR ABBR, sf.SF SF, pn.ID pn_id, pn.TYPE pn_type, pn.CODE pn_code, pn.YEAR pn_year, pn.NAME pn_name, si.IMP_STAT IMP_STAT
    FROM `Plan_Info` pi, `Member` member,`Person_Info` per_info,`Plan_Stat` ps,`Sn_Imp` si,`System_Name` sn,
    `Location` loc, System_Family sf, PN pn
    WHERE member.MEM_TYPE = "Implementer"  AND pi.OWNER = member.PERSON_ID AND member.PERSON_ID = per_info.ID AND pi.PLAN_STAT = ps.ID AND pi.ID = si.PLAN_ID AND si.SN_ID = sn.ID AND sn.LOC_ID = loc.ID AND sn.SF_ID = sf.ID 
    AND pi.PN_ID = pn.ID  AND  pi.IMP_PLAN_DATE >= '.$min. ' AND pi.IMP_PLAN_DATE < '.$max.' ORDER BY pi.IMP_PLAN_DATE, loc.ABBR, sf.SF')->result_array();      

    $plan_info = $this->btree->convertToBtree($result, array('PLAN_ID','DUE_DATE','CHANGE_TICKET','PLAN_DESC','EC_STAT','PERSON_ID','OWNER_FIRST',  
    'OWNER_LAST','PLAN_STAT','TIMESTAMP','SN','ABBR','SF','pn_id','pn_type','pn_code','pn_year','pn_name','IMP_STAT'), array('PLAN_ID','pn_id','DUE_DATE','ABBR'));

    $total = count($plan_info);

    $config = array();
    $config["base_url"] = base_url() . 'index.php/implementer/last_three_months/';
    $config["total_rows"] = $total;
    $config["per_page"] = 3;
    $config["uri_segment"] = 3;
    $config['first_link'] = 'First';
    $config['last_link'] = 'Last';
    $config['next_link'] = 'next';
    $config['prev_link'] = 'prev';
    //$config['use_page_numbers'] = TRUE;
    $this->pagination->initialize($config);         




    $link = $this->pagination->create_links();
    $content_data = array(
        'plan_info' => $plan_info,
        'link' => $link

    );

    $this->load->view('implementer/view_weekly/header');
    $this->load->view('logo');
    $this->load->view('nev');
    $this->load->view('implementer/view_weekly/content',$content_data);
    $this->load->view('implementer/view_weekly/footer');

}

首先,您完全弄亂了MVC設計概念。 但是,這是一個廣泛的主題,這不是您要的,所以我將專注於解決您的問題。

public function last_three_months(){
$this->load->model('mymodel');
$this->load->database();
$this->load->library('btree');
$this->load->library('session');
$this->load->library('string');
$this->load->library("Pagination");

    $per_page = 10;
    $page = $this->uri->segment(3, 1);
    $limit = ($page-1)* $per_page;




    if(date("l",strtotime('now')) == "Monday")
        $isMonday = strtotime('now');
    else
        $isMonday = strtotime('last Monday');
    $min = $isMonday - 7257600; // 7257600 = 12 weeks
    $max = strtotime('now');
    //echo(date("l d M Y",$duration));


//Change the following query to COUNT(id) or something like that.
    $sql = 'SELECT DISTINCT pi.ID PLAN_ID, pi.IMP_PLAN_DATE DUE_DATE, pi.CHANGE_TICKET CHANGE_TICKET, 
    pi.PLAN_DESC PLAN_DESC, pi.EC_STAT EC_STAT, per_info.ID PERSON_ID, per_info.FIRSTNAME OWNER_FIRST,per_info.LASTNAME OWNER_LAST,ps.STATUS PLAN_STAT, 
    pi.TIMESTAMP TIMESTAMP, sn.SN SN, loc.ABBR ABBR, sf.SF SF, pn.ID pn_id, pn.TYPE pn_type, pn.CODE pn_code, pn.YEAR pn_year, pn.NAME pn_name, si.IMP_STAT IMP_STAT
    FROM `Plan_Info` pi, `Member` member,`Person_Info` per_info,`Plan_Stat` ps,`Sn_Imp` si,`System_Name` sn,
    `Location` loc, System_Family sf, PN pn
    WHERE member.MEM_TYPE = "Implementer"  AND pi.OWNER = member.PERSON_ID AND member.PERSON_ID = per_info.ID AND pi.PLAN_STAT = ps.ID AND pi.ID = si.PLAN_ID AND si.SN_ID = sn.ID AND sn.LOC_ID = loc.ID AND sn.SF_ID = sf.ID 
    AND pi.PN_ID = pn.ID  AND  pi.IMP_PLAN_DATE >= '.$min. ' AND pi.IMP_PLAN_DATE < '.$max.' ORDER BY pi.IMP_PLAN_DATE, loc.ABBR, sf.SF';

    $sql2 = 'SELECT DISTINCT pi.ID PLAN_ID, pi.IMP_PLAN_DATE DUE_DATE, pi.CHANGE_TICKET CHANGE_TICKET, 
    pi.PLAN_DESC PLAN_DESC, pi.EC_STAT EC_STAT, per_info.ID PERSON_ID, per_info.FIRSTNAME OWNER_FIRST,per_info.LASTNAME OWNER_LAST,ps.STATUS PLAN_STAT, 
    pi.TIMESTAMP TIMESTAMP, sn.SN SN, loc.ABBR ABBR, sf.SF SF, pn.ID pn_id, pn.TYPE pn_type, pn.CODE pn_code, pn.YEAR pn_year, pn.NAME pn_name, si.IMP_STAT IMP_STAT
    FROM `Plan_Info` pi, `Member` member,`Person_Info` per_info,`Plan_Stat` ps,`Sn_Imp` si,`System_Name` sn,
    `Location` loc, System_Family sf, PN pn
    WHERE member.MEM_TYPE = "Implementer"  AND pi.OWNER = member.PERSON_ID AND member.PERSON_ID = per_info.ID AND pi.PLAN_STAT = ps.ID AND pi.ID = si.PLAN_ID AND si.SN_ID = sn.ID AND sn.LOC_ID = loc.ID AND sn.SF_ID = sf.ID 
    AND pi.PN_ID = pn.ID  AND  pi.IMP_PLAN_DATE >= '.$min. ' AND pi.IMP_PLAN_DATE < '.$max.' ORDER BY pi.IMP_PLAN_DATE, loc.ABBR, sf.SF LIMIT '.$limit.', '.$per_page;

     $total =  $this->mymodel->query($sql)->num_rows();

    $result = $this->mymodel->query($sql2)->result_array();      

    $plan_info = $this->btree->convertToBtree($result, array('PLAN_ID','DUE_DATE','CHANGE_TICKET','PLAN_DESC','EC_STAT','PERSON_ID','OWNER_FIRST',  
    'OWNER_LAST','PLAN_STAT','TIMESTAMP','SN','ABBR','SF','pn_id','pn_type','pn_code','pn_year','pn_name','IMP_STAT'), array('PLAN_ID','pn_id','DUE_DATE','ABBR'));

    $total = count($plan_info);

    $config = array();
    $config["base_url"] = base_url() . 'index.php/implementer/last_three_months/';
    $config["total_rows"] = $total;
    $config["per_page"] = $per_page;
    $config["uri_segment"] = 3;
    $config['use_page_numbers'] = TRUE;
    $config['first_link'] = 'First';
    $config['last_link'] = 'Last';
    $config['next_link'] = 'next';
    $config['prev_link'] = 'prev';
    //$config['use_page_numbers'] = TRUE;
    $this->pagination->initialize($config);         




    $link = $this->pagination->create_links();
    $content_data = array(
        'plan_info' => $plan_info,
        'link' => $link

    );

    $this->load->view('implementer/view_weekly/header');
    $this->load->view('logo');
    $this->load->view('nev');
    $this->load->view('implementer/view_weekly/content',$content_data);
    $this->load->view('implementer/view_weekly/footer');

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM