在我的系统中,我需要获得年度报告。我怎样才能每年只收到一次年度报告。我有一个生成报告的按钮,但它应该只是一年一次。所以它不应该是一个按钮,因为这意味着报告每年可以获得一次以上。有什么建议?我顺便使用php。
答案 0 :(得分:2)
您可以考虑在数据库中创建一个表格,该表格会标记他们是否已查看特定年份的年度报告:
CREATE TABLE annual_report_views (
id INT(11) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
viewed DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00'
);
在用户第一次点击按钮后,您希望以YYYY-MM-DD HH:II:SS格式插入日期时间。
然后,每当用户在包含年度报告按钮的页面上时,您可以使用类似的变量来查询此表,以便比较日期:
$date = date('Y-m-d H:i:s', strtotime('-1 year'));
如果表格中的日期大于此变量返回的日期,请不要显示该按钮,因为它在去年内。
答案 1 :(得分:1)
这是一个好主意,但如果是 按钮按今天(2009)然后进入 1月(2010年),因为这是新的一年 该按钮将再次显示 即使它还没有一年
嗯,“年份”字段存储报告所关注的年份,而不是按下按钮(或其他任何内容)的年份...因此,您可以判断报告是否为例如2009年已被视为......
答案 2 :(得分:1)
我认为这里有一个可用性方面需要考虑。您应该能够获得任何时间的报告,但您应该只能获得特定年份的报告。系统应该能够(根据日期)确定当前年度报告(以及是否有完整的报告可用)。
e.g。否则,如果您点击按钮,获取报告,然后意外地将其装箱,会发生什么?您无法再次获得该报告,是吗?