我可以使用CodeIgniter将数据插入数据库,也可以从数据库中获取数据,但问题是我无法从日期1-9获取数据(数据存在于数据库中)。在本月9日之后,数据被成功检索。
控制器:
function display($year=null,$month=null){
if (!$year) {
$year = date('Y');
}
if (!$month) {
$month = date('m');
}
$this->load->model('Calendar_model');
if ($day = $this->input->post('day')) {
$this->Calendar_model->add_calendar_data("$year-$month-$day",$this->input->post('data')
);
}
$this->load->model('calendar_model');
$data['calendar']=$this->calendar_model->generate($year,$month);
$data['viewName']=('Student/s_calendar');
$this->load->view('Student/template',$data);
}
型号:
function get_cal_data($year,$month){
$query=$this->db->select('date,data')->from('student_calender')->like('date',"$year-$month")->get();
$cal_data=array();
foreach($query->result() as $row){
$cal_data[substr($row->date,8,2)]=$row->data;
}
return $cal_data;
}
答案 0 :(得分:1)
将此函数用于日历数据,codeignitor仅选择超过9的值,因为它将html页面中的两个字符与数据库中的两个字符进行比较。任何低于10的数字都不匹配,因为在您的数据库中,它会将任何一天保存在10以下且为零。使用这个
{{1}}
答案 1 :(得分:0)
我通过zend框架遇到了同样的问题最后我明白了mysql中的数据是这种格式:
YYYY-MM-DD HH:ii:ss
我的查询采用以下格式:
YYYY-m-d h:i:s
这意味着我喜欢
2013-01-02 13:02:30
在数据库中我搜索了
之间的时间2013-1-2 13:2:30 and 2013-1-3 13:2:30
这给了我错误的答案。 使用vardump并查看您的年月值!