0

我正在尝试显示数据库中的记录并将它们默认为每周记录。例如,我想让记录默认为 2013 年 11 月 - 2013 年 11 月 7 日(从现在起一周后),然后单击上一个链接 10 月 25 日 - 10 月 31 日(2013 年)和下一个链接 11 月 8 日 - 2013 年 11 月 14 日

我正在使用 php 和 CodeIgniter。任何可以帮助我的页面的帮助或链接将不胜感激。

我现在所做的就是显示所有记录并使用分页显示每页 7 个字段,但我需要每周显示并默认为从周五到周四的当前一周。

public function index()
{
    //Count all records
    $shopID= $this->uri->segment(2);
    session_id($shopID);
    $this->db->where('BDP_COST_CENTRE_NUMBER', $shopID);
    $count =  $this->db->count_all_results('WHOUSE1.DLY_BWR_DLY_PERFORMANCE');
    //Set up pagination
    $perpage = 7;
    if ($count > $perpage)
    {
        $config['base_url'] = 'http://bwr/index.php/daily_shop_performance/' . $shopID . '/';
        $config['total_rows'] = $count;
        $config['per_page'] = $perpage;
        $config['uri_segment'] = 3;
        $this->pagination->initialize($config);
        $this->data['pagination']=$this->pagination->create_links();
        $offset = $this->uri->segment(3);
    } else {
        $this->data['pagination']='';
        $offset = 0;
    }
    $shopID= $this->uri->segment(2);
    $this->db->where('BDP_COST_CENTRE_NUMBER', $shopID);
    $this->db->limit($perpage, $offset);
    **$this->data['shops_performances'] = $this->performance_m->get();**
    $this->data['subview'] = 'page/performance_page';
    $this->load->view('_layout_main', $this->data);
}
4

1 回答 1

0

您正在寻找基于记录日期的分页方法。

首先,您需要将记录的日期存储为时间戳整数以避免出现问题并可以自由更改日期格式并进行计算。

在 where 子句中,您需要这样的内容(如果您使用 7 天间隔):

public function getRecords($start, $interval = 7)
{
    $limit = (24 * 60 *60) * $interval;
    $sql = "SELECT * FROM my_table WHERE record_date > $start AND record_date < interval";
}

我需要查看您的代码以获得更具体的帮助...我的代码是通用示例,请改用 CodeIgniter 查询生成器。

于 2013-11-07T17:12:18.170 回答