我有一个代码来计算有"in“和"out”的学生id,我只想得到有"in“和”out“的学生id,如果学生只有"in”和"out",我只想执行这段代码。
在
log(stud_id、date_log、time_log、ampm、status_log、status)中插入值(“只有”、“当前日期”、“当前时间”、“PM”、“out”中的“学生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);
发布于 2015-08-18 03:32:17
SQL不支持插入中的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)");
}}注意,,我写这篇文章时假设了你的数据库是如何填写的。我非常怀疑这将是一个复制和粘贴代码。
插入信息来源:http://dev.mysql.com/doc/refman/5.5/en/insert.html
编辑:由于语法错误而更新
https://stackoverflow.com/questions/32062882
复制相似问题