1

我的查询很简单。

我有一个包含名称、id、日期、时间、输入、输出的表

我只想让 php 检查是否是 salman, 001, 12/12/2012, 12:12:12, 1, 0

然后插入 salman, 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";
    }
4

1 回答 1

1

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

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

更新tablecolumn= IF( column= 1, 0, 1) WHERE id= 'userid'

于 2012-12-26T12:02:10.377 回答