首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >网站PHP PostgreSQL的自动化过程

网站PHP PostgreSQL的自动化过程
EN

Stack Overflow用户
提问于 2010-10-16 15:03:21
回答 3查看 164关注 0票数 1

目前,我正在使用一个网站。这个网站是用PHP编写的,后端是PostgreSQL。对于服务器,我使用Apache (XAMPP)。我的网站有一个由免费会员和高级会员组成的会员功能。高级会员在注册后1年内有效,之后用户会员将恢复为免费会员。为了再次成为高级会员,用户应该支付会员费,该帐户将在接下来的1年内再次升级(想象一下Rapidshare会员资格!)。如何创建自动化流程来检查和降级过期的成员资格?我认为这应该是一个在后端(postgresql)工作的后台进程,但我不是很确定。有什么想法或解决方案吗?

非常感谢:)

EN

回答 3

Stack Overflow用户

发布于 2010-10-16 15:48:01

一个想法应该是这样的:

  • User pays premium
  • 脚本在数据库中插入一个条目,其中包含取消日期和用户FK
  • 每天的cron/at(取决于操作系统)作业将搜索数据库以查找包含今天日期的取消日期,并取消相应用户的高级成员资格

我希望它能对您有所帮助:)

票数 1
EN

Stack Overflow用户

发布于 2010-10-16 16:10:58

使用如下所示的表模式:

代码语言:javascript
复制
CREATE TABLE all_accounts (
    id INTEGER NOT NULL PRIMARY KEY,
    premium_expires DATE NOT NULL DEFAULT current_date,
    other_attrs,
    ...
);

然后创建一个用于查询的视图:

代码语言:javascript
复制
CREATE VIEW accounts AS
SELECT
   account.*, current_date < account.premium_expires AS is_premium_membership
FROM
   account
WHERE 
   id = ?

现在,select to accounts将产生一个is_premium_membership属性,当高级成员资格有效时,该属性为t。不需要后台作业。

票数 1
EN

Stack Overflow用户

发布于 2010-10-16 19:40:23

为什么你不在每次用户登录时都检查一下?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3947992

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档