日期没有被插入到codeigniter中的数据库
我想插入一个日期到我的数据库中。但它不会只插入数据。日期没有被插入到codeigniter中的数据库
我使用笨日期帮手http://www.codeigniter.com/user_guide/helpers/date_helper.html和nice_date功能
日期帮手自动加载。
我add_calendar_data功能由于某种原因,只是将不插入$good_date
的日期列。通过回波数据
测试日期下面
$bad_date = '1'.'-'.$calendar_dates['month'].'-'.$calendar_dates['year'];
$good_date = nice_date($bad_date, 'Y-d-m');
echo $good_date;
这显示2016年1月1日
问题为什么
$good_date
不会被插入到数据库?我怎么能解决这个问题?
更新:
对于即使我能得到的年份和月份的指数函数和回声它精细一些原因。不会让我过过的年份和月份到另一个另一个函数
控制器
<?php
class Calendar extends MX_Controller {
public function index($calendar_dates = null) {
$this->load->model('dashboard/model_calendar');
$bad_date = '1'.'-'.$calendar_dates['month'].'-'.$calendar_dates['year'];
$good_date = nice_date($bad_date, 'Y-d-m');
echo $good_date;
// And that displays 2016-01-01
if ($this->input->post('day')) {
$bad_date = $this->input->post('day').'-'.$calendar_dates['month'].'-'.$calendar_dates['year'];
$this->add_calendar_data($bad_date);
}
$data['calendar'] = $this->model_calendar->generate($calendar_dates['year'], $calendar_dates['month']);
$this->load->view('dashboard/calender_view', $data);
}
public function add_calendar_data($bad_date) {
$good_date = nice_date($bad_date, 'Y-d-m');
$calendar_data = array(
'date'=> $good_date,
'data' => $this->input->post('data')
);
$this->db->insert($this->db->dbprefix . 'calendar', $calendar_data);
}
}
脚本
<script type="text/javascript">
$(document).ready(function() {
$('.calendar .day').click(function() {
day_num = $(this).find('.day_num').html();
day_data = prompt('Enter Stuff', $(this).find('.content').html());
if (day_data != null) {
$.ajax({
url: 'dashboard/calendar',
type: 'POST',
data: {
day: day_num,
data: day_data
},
success: function(msg) {
location.reload();
}
});
}
});
});
</script>
型号
<?php
class Model_calendar extends CI_Model {
var $prefs;
public function __construct() {
parent::__construct();
$this->prefs = array(
'start_day' => 'monday',
'show_next_prev' => true,
'next_prev_url' => base_url('common/dashboard')
);
$this->prefs['template'] = '
{table_open}<table border="0" cellpadding="0" cellspacing="0" class="table table-striped table-bordered calendar">{/table_open}
{heading_row_start}<tr>{/heading_row_start}
{heading_previous_cell}<th><a href="{previous_url}"><i class="fa fa-chevron-left fa-2x "></i></a></th>{/heading_previous_cell}
{heading_title_cell}<th class="text-center" colspan="{colspan}">{heading}</th>{/heading_title_cell}
{heading_next_cell}<th class="text-right"><a href="{next_url}"><i class="fa fa-chevron-right fa-2x"></i></a></th>{/heading_next_cell}
{heading_row_end}</tr>{/heading_row_end}
{week_row_start}<tr>{/week_row_start}
{week_day_cell}<td>{week_day}</td>{/week_day_cell}
{week_row_end}</tr>{/week_row_end}
{cal_row_start}<tr class="days">{/cal_row_start}
{cal_cell_start}<td class="day">{/cal_cell_start}
{cal_cell_content}
<div class="day_num">{day}<span class="label label-danger" style="margin-left: 10px;">Notice</span></div>
<div class="content">{content}</div>
{/cal_cell_content}
{cal_cell_content_today}
<div class="day_num highlight">{day}</div>
<div class="content">{content}</div>
{/cal_cell_content_today}
{cal_cell_no_content}<div class="day_num">{day}</div>{/cal_cell_no_content}
{cal_cell_no_content_today}<div class="day_num highlight">{day} <span class="label label-success">Current Day</span></div>{/cal_cell_no_content_today}
{cal_cell_blank} {/cal_cell_blank}
{cal_cell_end}</td>{/cal_cell_end}
{cal_row_end}</tr>{/cal_row_end}
{table_close}</table>{/table_close}
';
}
public function delete() {
$this->db->where('data', " ");
$this->db->delete($this->db->dbprefix . 'calendar');
}
public function get_calendar_data($year, $month) {
$this->db->select('date, data');
$this->db->from($this->db->dbprefix . 'calendar');
$this->db->like('date', "$year-$month", 'after');
$query = $this->db->get();
$cel_data = array();
foreach ($query->result() as $row) {
$cel_data[substr($row->date, 8,2)] = $row->data;
}
return $cel_data;
}
public function generate($year, $month) {
$cel_data = $this->get_calendar_data($year, $month);
$this->load->library('calendar', $this->prefs);
return $this->calendar->generate($year, $month, $cel_data);
}
}
好像你正试图使用null函数变量试试
class Calendar extends MX_Controller {
public function index($calendar_dates = null) {
$this->load->library('session');
$this->load->model('dashboard/model_calendar');
$bad_date = '1'.'-'.$calendar_dates['month'].'-'.$calendar_dates['year'];
$good_date = nice_date($bad_date, 'Y-d-m');
echo $good_date;
$this->session->set_flashdata('good_date', $good_date); //Store the variable
// And that displays 2016-01-01
if ($this->input->post('day')) {
$bad_date = $this->input->post('day').'-'.$calendar_dates['month'].'-'.$calendar_dates['year'];
$this->add_calendar_data($bad_date);
}
$data['calendar'] = $this->model_calendar->generate($calendar_dates['year'], $calendar_dates['month']);
$this->load->view('dashboard/calender_view', $data);
}
public function add_calendar_data() {
$calendar_data = array(
'date'=> $this->session->flashdata('good_date'),
'data' => $this->input->post('data')
);
$this->db->insert($this->db->dbprefix . 'calendar', $calendar_data);
}
}
这$ this-> input-> post('day')只得到选定的一天不会给出月份或年份的一天。 – user4419336
@ wolfgang1983它从jQuery post中获取day_num。你还试图插入什么? –
会在之前给它。但发现了一些原因,即使我可以得到索引函数的年份和月份并且回显它很好。不会让我把年份和月份传递给另一个函数 – user4419336
解决
它的工作了几个小时后,我已经发现了它为什么没有得到的URI段正确。
当我检查了火虫时,表单脚本没有加载正确的网址。并错过了uri细分市场。
我现在可以插入正确的日期。
url: 'dashboard/calendar',
现在改为
url: window.location,
完整剧本
<script type="text/javascript">
$(document).ready(function() {
$('.calendar .day').click(function() {
day_num = $(this).find('.day_num').html();
day_data = prompt('Enter Stuff', $(this).find('.content').html());
if (day_data != null) {
$.ajax({
url: window.location,
type: 'POST',
data: {
day: day_num,
data: day_data
},
success: function(msg) {
location.reload();
}
});
}
});
});
</script>
控制器
<?php
class Calendar extends MX_Controller {
public function __construct() {
parent::__construct();
}
public function index() {
$this->load->model('dashboard/model_calendar');
if ($this->input->post('day')) {
$calendar = array(
'date' =>$this->uri->segment(3) .'-'. $this->uri->segment(4) .'-'. $this->input->post('day'),
'data' => $this->input->post('data')
);
$this->db->insert('calendar', $calendar);
}
$data['calendar'] = $this->model_calendar->generate($this->uri->segment(3), $this->uri->segment(4));
$this->load->view('dashboard/calender_view', $data);
}
}
什么是$这个 - >输入 - >后( '数据') ?你可以添加你的jQuery代码$ this-> db-> insert($ this-> db-> dbprefix。'calendar',$ calendar_data);错误尝试$ this-> db-> insert($ this-> db-> dbprefix('calendar'),$ calendar_data); –
获取我在日历中输入的任何消息的$ this-> input-> post('data')。和$ this-> input-> post('day')获取选定的日期。 – user4419336