Php 当项目从特定状态移动到另一个特定状态时,更新/设置SQL查询时间戳
我有一个问题,我需要在我的数据库中设置一个时间戳,如果用户按特定顺序更改某些设置,我将在下面为您提供更多详细信息 数据库: 当前查询: PHP: 基本上只是一个选择/选项和输入字段。请注意,项目状态为选择/选项状态 问题是: 简言之,我希望当项目从收件箱移动到以项目状态工作时,项目开始更新为今天的时间戳 当项目从工作转移到交付时,项目交付也是如此Php 当项目从特定状态移动到另一个特定状态时,更新/设置SQL查询时间戳,php,mysql,Php,Mysql,我有一个问题,我需要在我的数据库中设置一个时间戳,如果用户按特定顺序更改某些设置,我将在下面为您提供更多详细信息 数据库: 当前查询: PHP: 基本上只是一个选择/选项和输入字段。请注意,项目状态为选择/选项状态 问题是: 简言之,我希望当项目从收件箱移动到以项目状态工作时,项目开始更新为今天的时间戳 当项目从工作转移到交付时,项目交付也是如此 你有什么想法可以让我实现这样的目标吗?你可以这样试试 SET project_start = CASE W
你有什么想法可以让我实现这样的目标吗?你可以这样试试
SET project_start = CASE
WHEN project_status = 'Inbox' THEN CURDATE()
ELSE project_start
END
project_delivery = CASE
WHEN project_status = 'Working' THEN CURDATE()
ELSE project_delivery
END
WHERE ....
您可以使用Case。。当表达。它将需要一些if..else在PHP级别和MySQL级别。嘿,Igor,谢谢你的回复!这个答案在一定程度上帮助了我,因为我现在可以在状态为“收件箱”或“正在工作”时更新项目启动和项目交付。然而我只希望当项目状态向上更改时,更新才真正发生。因此,当一个项目从收件箱移动到工作状态时,我希望更改为happend。因此,我认为我需要从SQL跟踪当前状态,并在这个项目编辑会话中跟踪最终更改的状态。然后根据这些数据,按照您的建议运行一些模拟案例查询。你还有什么想法吗?提前谢谢
$query = "
UPDATE projects
SET
project_name = '".$mysqli->real_escape_string($_POST['project_name'])."',
project_status = '".$mysqli->real_escape_string($_POST['project_status'])."',
project_start = '".$mysqli->real_escape_string($_POST['project_start'])."',
project_delivery = '".$mysqli->real_escape_string($_POST['project_delivery'])."'
WHERE
project_id = '".$mysqli->real_escape_string($_REQUEST['id'])."'
";
SET project_start = CASE
WHEN project_status = 'Inbox' THEN CURDATE()
ELSE project_start
END
project_delivery = CASE
WHEN project_status = 'Working' THEN CURDATE()
ELSE project_delivery
END
WHERE ....