-2

我目前正在开发一个文件托管网站,就像 filehippo.com。我已经完成了。但是,我的客户想要一个类似于 rapidshare pro 的高级会员系统。因此,只有高级会员才能在一段时间内(例如一个月左右)获得下载访问权限。

我现在有两张桌子:

  • 用户
  • 文件

我应该为会员状态创建一个新表吗?最好的做法是什么?逻辑,也许还有数据库结构。请给我一些建议。

多谢。

4

2 回答 2

0

看起来您只是在用户表和文件中开发或添加一些列。

在user表中添加列user_id、level_access、inactive period。然后你可以在文件表中添加用于连接用户表的列 id_user。

可以设置到期日期间隔,您可以使用如下函数:

function expiration($date) {
    /* $date = time is a register as user */
$sql=mysql_query("select ('$date' - INTERVAL 1 week ) as expired");
$row = mysql_fetch_array($sql);
$output=$row['expired'];
return $output;
}`
于 2013-02-12T21:02:57.980 回答
0

如果他们为高级会员付费,我会创建另一个表并将其与付款的交易 ID 相关联。这将是许多 premium_access 行的一个用户行。这样,您就可以获得服务天数/月使用的付款的历史记录,并允许为 6 个月或每年的会员资格收取折扣,并且仍然可以进行准确的跟踪,以确保您可以跟踪任何漏洞或漏洞。

那么当你想知道它们什么时候到期时

select * from premium_access where user_id = '$id' limit 1 order by end_date desc

编辑:这是一个可能的表结构的快速模型。对您需要的列和正确的命名约定使用您自己的判断:

CREATE  TABLE IF NOT EXISTS premium_access (
  id INT NOT NULL AUTO_INCREMENT ,
  user_id INT NOT NULL , --fk to USERS
  payment_id VARCHAR(45) NULL , --fk to PAYMENTS/INVOICES
  start_date TIMESTAMP NOT NULL ,
  end_date TIMESTAMP NOT NULL ,
  PRIMARY KEY (id) )
于 2013-02-12T22:30:57.020 回答