我有一个代码来计算有“进入”和“出去”的学生ID所有我想要的是获得“in”和“out”的学生ID,如果学生只有“in”我想要执行此代码
INSERT INTO
log
(stud_id
,date_log
,time_log
,ampm
,status_log
,status
)价值观 ('只有','当前日期','当前时间','下午','出',1)的学生ID,
这是我现有的代码。
$total=mysql_query("SELECT count(stud_id) as mycount, stud_id, date_log FROM `log`
WHERE date_log >= CURRENT_DATE() and ampm='pm' GROUP BY stud_id");
$d=mysql_fetch_assoc($mycount);
答案 0 :(得分:0)
SQL不支持INSERT中的WHERE语句。相反,您可以从执行SELECT查询的数据库中提取信息,然后执行IF语句来执行插入操作。如此:
$results = mysql_query("SELECT * FROM log WHERE date_log >= CURRENT_DATE() and ampm='pm' GROUP BY stud_id");
while($row = mysql_fetch_array($results)) {
if ($row['status_log'] == "in") {
mysql_query("INSERT INTO log ( stud_id, date_log, time_log, ampm, status_log, status) VALUES ('".$row['stud_id'].", 'currentdate', 'current time', 'PM', 'out', 1)");
}}
注意我写了这个假设你的数据库是如何填写的。我强烈怀疑它将是一个复制和粘贴代码。
INSERT信息来源: http://dev.mysql.com/doc/refman/5.5/en/insert.html
编辑:由于语法错误而更新