我真的为提出这么简单的问题道歉,但我陷入了困境。实际上我的表有三个颜色,例如id,status和date。日期字段是当前时间戳(我还在phpmyadmin中选择更新当前时间戳)。
我想要的是每个更新都应该更新日期字段,但事实并非如此。这是我的代码;
if($_POST['status']=="Expired")
{
$_POST['remaining']=0;
}
if($this->db->update('user_package',$_POST,array('upid'=>$_POST['upid'])))
{
redirect('package/view_admin_package_pending');
}
else
{
echo "Hey I could not update the User's requested Package. I am in Package Controller on line number 406";
}
更新日期字段更新为00000000而不是正确的时间和日期。所以,任何人都可以帮我找出解决方案。
注意:我也尝试过吼叫,但没有奏效;
$_POST['date']=now();
也尝试了
$_POST['date']=time();
答案 0 :(得分:2)
您可以直接在SQL中执行此操作
update your_table
set some_column = 1,
`date` = current_timestamp
where ...
答案 1 :(得分:1)
这段代码的功能已经足够了。
$data = array(
'content_header' => $_POST['content_header'],
'content_body' => $_POST['content_body'],
'content_footer' => $_POST['content_footer'],
'post_catagory' => $_POST['post_catagory']
'update_time' => date('Y-m-d H:i:s')
);
答案 2 :(得分:0)
实际上我的项目存在问题。从理论上和逻辑上讲,当前时间戳(特别是在选择的更新时间戳上)会自动将日期字段更新为当前时间戳。所以,我的代码是正确的,但我的项目很混乱。无论如何,我感谢每一个人的答案。谢谢
答案 3 :(得分:0)
尽量不要使用$ _POST。 Codeigniter提供了获取$ _POST变量的有用方法:
$my_update = array();
$my_update['status'] = $this->input->post('status');//in controller
... 以相同的方式从表单中添加所有变量 ... 决定更新表后,设置所需的所有变量
$data = array(
'status' => $my_update['status'],
//...
);
要设置where条件,请更好地使用codeigniter工具: $ this-> db-> where('upid',$ my_update ['upid']); 之后,添加日期字段更新: $ this-> db-> set('created','now()'); 然后你可以更新你的表格:
$this->db->update('user_package', $my_update);
答案 4 :(得分:0)
$_POST['date'] = date('Y-m-d H:i:s', strtotime('23.12.2013 15:23:23'));