0

这是我的观点(roster.php)

<link href="http://cdn.kendostatic.com/2012.3.1024/styles/kendo.common.min.css" rel="stylesheet" type="text/css" />
<link href="http://cdn.kendostatic.com/2012.3.1024/styles/kendo.default.min.css" rel="stylesheet" type="text/css" />
<link href="http://cdn.kendostatic.com/2012.3.1024/styles/kendo.dataviz.min.css" rel="stylesheet" type="text/css" />
<link href="http://cdn.kendostatic.com/2012.3.1024/styles/kendo.mobile.all.min.css" rel="stylesheet" type="text/css" />
<script src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
<script src="http://cdn.kendostatic.com/2012.3.1024/js/kendo.all.min.js"></script>

<form action="time_model.php" method="post">
        From: <input type="text" id="datepicker"  name="date_from"/> <br/><br/>
        To: <input type="text" id="datepicker2" name="date_to" />
        </form>
<input type="submit">
<script>
    $(document).ready(function () {
        $.get('<?=base_url()?>index.php/roster/get_emprecord', function(data) {
            if ( data.substring(0,1) == '0' ) return true;
            var emp_roster = JSON.parse(data);

            $("#grid").kendoGrid({
                dataSource: {
                    data: team_dtr,
                    pageSize: 20
                },
                groupable: true,
                sortable: {
                    mode: "multiple",
                    allowUnsort: true
                },
                pageable: {
                    buttonCount: 6
                },
                scrollable: false,
                columns: [

                    {
                        field: "user_name",
                        title: "Name",
                    },

                    {
                        field: "entry_type",
                        title: "Entry Type",
                    },

                    {
                        field: "entry_datetime",
                        title: "Date",
                    }
            ]
            });
        });
    }); 
$("#datepicker").kendoDatePicker();
$("#datepicker2").kendoDatePicker();
</script>

在我看来,我正在使用日期选择器选择 2 个日期(date_from,date_to)。现在我正在尝试将在我的视图中选择的日期发送到我的查询(模型)中。但它似乎没有抓住它。

这是我的模型(time_model.php)

public function get_roster($end= '($_POST[date_from])', $start= '$POST[date_to]' )
{
$sql="SELECT user_name, entry_type, entry_datetime
FROM time_entries
WHERE entry_datetime 
BETWEEN' ".$start." ' AND ' ".$end." '
ORDER BY entry_datetime";

    $query = $this->db->query($sql);
    $result = $query->result_array();

    if ($result) return $result;
    return false;
}

这是我的控制器(roster.php)

public function get_emprecord()
 {
  $data['title'] = "Roster";
  $result = $this->time_model->get_employee_record($data)
if ( $result ) $data['dump'] = json_encode($result);
else $data['dump'] = "0 Request can not be completed right now.";

$this->load->view(roster'', $data);
  }

当我单独在我的控制器中尝试它时,它会显示“0 请求现在无法完成”。我认为我在查询中提出的帖子没有被捕获,因为它给出了 0 个结果。绝对我在这里做的事情不正确:(。

我只想从我的数据库中获取记录,范围从我视图中选择的 datepicker(date_from, date_to)。然后从类似的视图返回结果。我看到很多问题似乎是这样的,但我不明白它是如何完成的。T_T。预先感谢那些可以帮助并启发我错误的人。

4

2 回答 2

0

像这样试试

$_POST 是通过 HTTP POST 方法传递给当前脚本的变量关联数组。如果您想访问您可以访问的变量,例如 $_POST['date_form']。

所以你可以直接使用post进入查询。

$sql="SELECT user_name, entry_type, entry_datetime
FROM time_entries
WHERE entry_datetime 
BETWEEN '".$_POST['date_form']."' AND ' ".$_POST['date_to']."'
ORDER BY entry_datetime";

确保日期格式应为 mysql 格式,即(YYY-mm-dd)

参考: http: //php.net/manual/en/reserved.variables.post.php

于 2013-08-06T06:38:03.113 回答
0

尝试这个:

public function get_roster()
{
    $sql="SELECT user_name, entry_type, entry_datetime
    FROM time_entries
    WHERE entry_datetime 
    BETWEEN' '{$_POST['date_from']}' AND '{$_POST['date_to']}'
    ORDER BY entry_datetime";

    $query = $this->db->query($sql);
    $result = $query->result_array();

    if ($result) return $result;
    return false;
}
于 2013-08-06T06:30:26.503 回答