开发者社区> 问答> 正文

插入或更新Mysql表-PHP MYSQL中的IF / ELSE?

和圣诞快乐

我正在开发一个时钟输入系统,可以让每个人使用时钟输入,但是我不确定如何处理时钟输出。

我只是插入一个ID,以及生成的时间和日期。如果他们已经有当天的数据,那么我想更新该行,并将时间添加到Clock out列中。

目前我在insert.php中-

$conn = mysqli_connect('localhost','x','x','x');
date_default_timezone_set('Europe/London');
$id= $_POST['id'];
$date = date('y-m-d');
$time = date('h:i:s');
$footwear = 'Yes';

$sql="INSERT INTO `clock_times` (`clockid`, `clockin`, `date`, `footwear`) VALUES ('$id', '$time', '$date', '$footwear')";
if ($conn->query($sql) === TRUE) {
    echo "Thank you";
}
else 
{
    echo("Error description: $id 1234 $sql" . $sql -> error );
}
?>

这对于插入新行效果很好。但是,我想做的是-如果ID和日期已经存在于同一行中,我希望时间进入“超时”列。

否则-上面的新行(clockin)。

因此,类似-

"IF EXISTS ( SELECT FROM 'clocktimes' WHERE 'clockid' = '$id' AND date = '$date' )
    UPDATE 'clocktimes' ('clockout') VALUES ('$time')
Else 
INSERT INTO `clock_times` (`clockid`, `clockin`, `date`, `footwear`) VALUES ('$id', '$time', '$date', '$footwear')";

在数据库中,clockid或date列都不会是唯一的(其他人正在值班,或其他日子中的同一人)。但是它们只能一起出现一次。

如果某人在同一天一直在进行时钟输入/输出,那么最好只是继续重写时钟输出时间。

任何帮助将不胜感激。谢谢!

展开
收起
几许相思几点泪 2019-12-23 22:03:41 769 0
1 条回答
写回答
取消 提交回答
  • 技术架构师 阿里云开发者社区技术专家博主 CSDN签约专栏技术博主 掘金签约技术博主 云安全联盟专家 众多开源代码库Commiter

    这个太乱了

    2020-01-04 23:42:53
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
PHP安全开发:从白帽角度做安全 立即下载
PHP 2017.北京 全球开发者大会——高可用的PHP 立即下载
复杂PHP系统性能瓶颈排查及优化 立即下载

相关镜像