因此,我将用户time_in和time_out存储在小时表中,当用户登录时,将日期和时间插入到time_in字段中,而time_out值仍然为000:00:00:00,那么如何在注销时仅在最后插入的id上更新time_out字段?
无论注销多少次,它都应该只在最后一次插入用户id in time_out表时才更新时间小时,但是如果输入了新的登录id,它就会更改为新的登录id。我尝试了下面这样的方法
$dt = date("Y-m-d h:i:s");
UPDATE hours SET time_out = '".$dt."' WHERE member_id = '".$_SESSION['MEMBER_ID']."'小时数表中的字段包括
hours_id
member_id
member_name
team
time_in
time_out我不知道如何实现剩下的部分。会很感谢你的帮助
好的,这是我的logout.php
<?php
include('config.php');
//Start session
session_start();
if(!isset($_SESSION['MEMBER_ID']) || (trim($_SESSION['MEMBER_ID']) == '')) {
header("location: index.php");
exit();
}
date_default_timezone_set('America/New_York');
$dt = date('Y-m-d h:i:s');
$sql = "UPDATE hours SET time_out = '".$dt."' WHERE member_id IN (SELECT MAX(hours_id) FROM hours WHERE member_id = '".$_SESSION['MEMBER_ID']."'";
mysql_query($sql) or die(mysql_error());
//Unset the variables stored in session
unset($_SESSION['MEMBER_ID']);
unset($_SESSION['LOGIN_NAME']);
unset($_SESSION['PASS']);
unset($_SESSION['TEAM']);
?>发布于 2016-07-30 12:41:25
使用该用户条目的最大id进行筛选:
$max = mysql_query("SELECT MAX(hours_id) FROM hours WHERE member_id =‘“.$_SESSION’‘MEMBER_ID’.”‘“);
$row = mysql_fetch_row($max);
然后,您的原始查询将是:
更新小时数设置time_out =‘“.$dt”’其中hours_id = '".$row."‘
https://stackoverflow.com/questions/38670354
复制相似问题