我的查询很简单。
我有一个包含姓名、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/