我正在编写供内部使用的出勤页面。现在我遇到一个仅显示登录用户详细信息的问题。谁能改善以下脚本?
<?php
$query_RecBoards ="SELECT * FROM `attend` WHERE
`m_username`='".$_SESSION["loginMember"]."' ORDER BY `m_time` DESC";
$RecBoards = mysql_query($query_RecBoards);
$row_RecBoards = mysql_fetch_assoc($RecBoards);
$qry= "SELECT m_name, m_day, time_in, time_out, SEC_TO_TIME(
CASE WHEN total_sec - 32400 > 0
THEN total_sec - 32400
ELSE 0 END) overtime,
SEC_TO_TIME(
CASE WHEN total_sec - 32400 < 0
THEN 32400 - total_sec
ELSE 0 END) shorttime
FROM
(
SELECT m_name, m_day, time_in, time_out,
TIME_TO_SEC(TIMEDIFF(COALESCE(time_out, '17:30:00'),
COALESCE(time_in, '08:30:00'))) total_sec
FROM
(
SELECT m_name, m_day,
MIN(CASE WHEN m_duty = 'Punchin' THEN m_time END) time_in,
MIN(CASE WHEN m_duty = 'Punchout' THEN m_time END) time_out
FROM attend
GROUP BY m_name, m_day
) a
) b";
$result=mysql_query($qry);
?>
亨里克
答案 0 :(得分:0)
感谢您的建议,因为我使用的是旧版本的PHP,所以这就是我使用旧的扩展名的原因。
最后,我想出了如何显示已登录用户的信息,但是另一个问题是如何每月显示数据?有什么建议吗?
代码的改进部分如下
SELECT m_name, m_day,
MIN(CASE WHEN m_duty = 'punchin' THEN m_time END) time_in,
MIN(CASE WHEN m_duty = 'punchout' THEN m_time END) time_out
FROM attend WHERE m_username='".$_SESSION["loginMember"]."'
GROUP BY m_name, m_day
)a LIMIT 0,7
谢谢 亨里克