【问题标题】:JQuery Date Picker with CodeIgniter带有 CodeIgniter 的 JQuery 日期选择器
【发布时间】:2012-07-05 14:12:31
【问题描述】:

我在我的 codeigniter 项目中使用 jQuery 日期选择器

在我看来我是这样使用它的

  <script>
     $(function() {
       $( "#from-datepicker" ).datepicker();
     });
  </script>

  <script>
    $(function() {
      $( "#to-datepicker" ).datepicker();
    });
  </script>

  <div style="float:left; width:330px">
     <input name="from-date" type="text" id="from-datepicker" />
  </div>

  <div style="float:left; width:330px">
     <input name="to-date" type="text" id="to-datepicker" />
  </div>

在我的控制器中我有

public function titlesDownloads(){
    if($_POST){
        $form = $this->input->post();
        $boxes = $form['boxes'];
        $titles = $form['titles'];
        $from_date = date('Y-m-d',strtotime($form['from-date']));
        $to_date = date('Y-m-d',strtotime($form['to-date']));
        $data['titles_downloads'] = $this->Statistic_model->getTitlesDownloads($boxes, $titles, $ipsegments, $from_date, $to_date);
        $data['from_date'] = $from_date;
        $data['to_date'] = $to_date;
        $this->load->view('statistic/titles-downloads', $data);
    }
}

在我的模型中,我具有获取下载次数的功能

  public function getTitlesDownloads($boxes, $titles, $from_date, $to_date){
    $query = $this->db->select('mc_boxes_idmc_boxes, mc_boxes.location, idtitle_history, titles.title, COUNT(mc_boxes_has_downloads.idtitle_history) AS Titles_Downloads ')
            ->from('mc_boxes_has_downloads')
            ->join('mc_boxes', 'mc_boxes_has_downloads.mc_boxes_idmc_boxes = mc_boxes.idmc_boxes', 'left')
            ->join('titles', 'mc_boxes_has_downloads.idtitle_history = titles.idtitles', 'left')
            ->where_in('mc_boxes_idmc_boxes', $boxes)
            ->where_in('idtitle_history', $titles)
            ->where('actiontime >=', $from_date)
            ->where('actiontime <=', $to_date)
            ->group_by('mc_boxes_idmc_boxes')
            ->group_by('idtitle_history')
            ->get();
    $data = $query->result_array();
    return $data;
}

现在,对于特定标题 id=7,6 月份有 4 次下载。但是当我运行查询时,它会返回三个。跳过了 6 月 30 日的最后一次下载。

我认为日期选择器正在跳过所选日期的上限和下限。虽然在我的查询中我写了 >= startdate 和 >=enddate。

为什么会跳过最后一个日期?

有什么想法吗?

谢谢

【问题讨论】:

    标签: php jquery jquery-ui codeigniter datepicker


    【解决方案1】:

    由于您只是传递一个日期而没有传递时间,因此可能假设时间是午夜。因此,小于 6 月 30 日的午夜会阻止显示 6 月 30 日的任何内容。

    您最好的选择可能是只添加一天并使用小于来查找前一天发生的任何事情。

    【讨论】:

    • 我该如何打发时间?
    • 用户是否在日期选择器中选择时间?根据您设置日期选择器的方式,它不会那样显示。因此,您要么在提交表单之前对其进行修改,要么在处理帖子时对其进行处理。
    猜你喜欢
    • 2016-02-26
    • 1970-01-01
    • 1970-01-01
    • 2012-11-17
    • 2013-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-29
    相关资源
    最近更新 更多