在codeigniter中,如果数据库中的日期值为0000--00--00:00:00,则将输入字段显示为空
这就是我如何从我的控制器为下面的视图代码中的4个日期字段传递值的方式:在codeigniter中,如果数据库中的日期值为0000--00--00:00:00,则将输入字段显示为空,codeigniter,Codeigniter,这就是我如何从我的控制器为下面的视图代码中的4个日期字段传递值的方式: $_POST["s_plan"] = $data['tasks_detail'][0]->nt_start_date; $_POST["e_plan"] = $data['tasks_detail'][0]->nt_end_date; $_POST["s_due"] = $data['tasks_detail'][0]->nt_start_due_date;
$_POST["s_plan"] = $data['tasks_detail'][0]->nt_start_date;
$_POST["e_plan"] = $data['tasks_detail'][0]->nt_end_date;
$_POST["s_due"] = $data['tasks_detail'][0]->nt_start_due_date;
$_POST["e_due"] = $data['tasks_detail'][0]->nt_end_due_date;
现在,当我在控制器中设置上述条件时。现在,即使date字段有日期值,视图中也不会显示任何内容。[前几天我为此编写了一个函数:]
$_POST["s_plan"] = ($data['tasks_detail'][0]->nt_start_date != "0000-00-00") ? $data['tasks_detail'][0]->nt_start_date : "";
$_POST["e_plan"] = ($data['tasks_detail'][0]->nt_end_date != "0000-00-00") ? $data['tasks_detail'][0]->nt_end_date : "";
$_POST["s_due"] = ($data['tasks_detail'][0]->nt_start_due_date != "0000-00-00") ? $data['tasks_detail'][0]->nt_start_due_date : "";
$_POST["e_due"] = ($data['tasks_detail'][0]->nt_end_due_date != "0000-00-00") ? $data['tasks_detail'][0]->nt_end_due_date : "";
函数ctd($datetime,$format=false,$displayzero=false){
$timestamp=strottime($datetime);
如果(!$格式){
$format='d.m.Y';//strotime('0000-00-00:00:00')){
返回日期($格式,$时间戳);
}否则{
如果($displayzero){
返回stru_替换(1,0,日期($format,strotime('0001-01-01 00:00:00'));
}否则{
返回false;
}
}
}
您必须根据您的条件比较值。我尝试过让我告诉您我尝试验证的方式。请检查问题的更新部分使用设置值()在视图中检查您的条件。
。
$_POST["s_plan"] = ($data['tasks_detail'][0]->nt_start_date != "0000-00-00") ? $data['tasks_detail'][0]->nt_start_date : "";
$_POST["e_plan"] = ($data['tasks_detail'][0]->nt_end_date != "0000-00-00") ? $data['tasks_detail'][0]->nt_end_date : "";
$_POST["s_due"] = ($data['tasks_detail'][0]->nt_start_due_date != "0000-00-00") ? $data['tasks_detail'][0]->nt_start_due_date : "";
$_POST["e_due"] = ($data['tasks_detail'][0]->nt_end_due_date != "0000-00-00") ? $data['tasks_detail'][0]->nt_end_due_date : "";
function ctd($datetime, $format=false, $displayzero=false){
$timestamp = strtotime($datetime);
if(!$format){
$format = 'd.m.Y'; // <---------- your default Date-Format
}
if($timestamp > strtotime('0000-00-00 00:00:00')){
return date($format, $timestamp);
}else{
if($displayzero){
return str_replace(1, 0, date($format, strtotime('0001-01-01 00:00:00')));
}else{
return false;
}
}
}