php - 记录插入和输出取决于它的值

标签 php mysql insert

我的查询很简单。

我有一个包含姓名、ID、日期、时间、进出的表

我只希望 php 检查是否 萨尔曼, 001, 12/12/2012, 12:12:12, 1, 0

然后插入 萨尔曼, 001, 12/12/2012, 05:12:12, 0, 1

只有 in 和 out 值需要更改,具体取决于员工是否在,然后给出值 in = 0 和 out = 1 否则,如果员工不在,则给 in = 1 和 out = 0 赋值

我被困在了某个地方

    $insertqr = mysql_query("SELECT * FROM at_daily where daily_qr = '".$q."' and daily_date = '$today' and daily_in = '0'");//'".$today."'");
    $daily = mysql_fetch_array($insertqr);


    if($daily['daily_in'] == 0){
        mysql_query("INSERT INTO at_daily (daily_name, daily_qr, daily_date, daily_time, daily_in, daily_out)
        VALUES ('$name', '$q', '$today', '$ttime', '$myzero', '$myone')");
        echo "record entered of In";
    }
    else if($daily['daily_in'] == 1)
   {
        mysql_query("INSERT INTO at_daily (daily_name, daily_qr, daily_date, daily_time, daily_in, daily_out)
        VALUES ('$name', '$q', '$today', '$ttime', '$myone', '$myzero')");
        echo "record entered of Out";
    }

最佳答案

我建议创建一个名为 status 的列,而不是 daily_in 和 daily_out 列。使用 1 表示 in,0 表示 out in 状态。这样你只需要使用更新查询在 0 和 1 之间切换。

要切换一个值,我们可以使用常见的 SQL 控制流函数 IF。 IF 函数有三个参数,第一个是测试表达式,第二个是测试表达式为真时要返回的项,第三个是测试表达式失败时要返回的项。

UPDATE SET column = IF(column = 1, 0, 1) WHERE id = '用户名'

关于php - 记录插入和输出取决于它的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14040168/

相关文章:

php - 403 - 禁止 : Trying to get WordPress to Run on AWS

php - 将mysql表导出成SQL格式?

mysql - 您应该如何删除具有唯一值的行?

c++ - 遍历并将数据插入标准 vector

php - 重复 key 更新时 - 增加 2

php - 格式化 mysqlquery 中创建的字段

php - 从 Facebook 登录中提取名称和 ID 字符串?

php运行一次并在mysql数据库中插入两次

mysql - mysql 中键 'PRIMARY' 的重复条目

java - 在java中将数组插入/读取到sqlite数据库中