使用PHP将引用数和引用ID添加到MySQL数据库中

时间:2011-03-17 15:39:00

标签: php mysql database ajax

我已经设置了推荐系统,用户可以输入他们的电子邮件地址,然后可以推荐朋友。给朋友一个唯一的URL后跟一个代码,即:example.com/FHF73H

数据库设置如此;

email_id    email           code        ts
1       test1@test.com      98VIB15     2011-03-17 01:52:22
2       test2@test.com      412395D     2011-03-17 01:58:00
3       test3@test.com      6521298     2011-03-17 02:00:51
4       test4@test.com      3VJ7AB5     2011-03-17 02:01:02

我有htaccess设置RewriteRule ^([a-z0-9]+)$ /index.php?_url=$1 [NC,L,QSA],然后我可以使用$_GET['_url'];来获取引荐来源代码。

对于DB中的每个用户,我想跟踪:

a)有多少人访问他们的推荐链接
b)计算用户数量订阅(通过输入电子邮件地址并提交)的数量
c)执行b)的用户的email_id的逗号分隔列。

基本上需要3列。

上述(a,b和c)中的每一个必须放在代码中以便按照我喜欢的方式运行?我也不确定如何在PHP中编写所有代码以及MySQL数据库中需要什么类型的列属性。
非常感谢任何帮助!

谢谢!

1 个答案:

答案 0 :(得分:1)

A)

有三种方法可以计算点击引荐链接的次数。

  1. 每次点击都是如此 每次调用URL时,都会更新数据库中的值。这意味着一个人可以不断点击,它将全部存储。有意或无意。

  2. 每次独立点击 您将在用户上存储cookie,并且仅在此cookie不存在时增加计数。如果他们点击链接两次,这将防止人们意外增加计数。但是,他们仍然能够清除他们的cookie来增加数量。

  3. 每次点击都是如此 在这里,您可以选择存储点击来自哪个IP,并且只在数据库中尚未存在IP时才增加计数。
  4. <强> B)

    您必须保存cookie(无论上述方法如何)。在此cookie中,您将保存此引用在数据库中具有的任何ID。

    在极端情况下,您可能希望保存到数据库而不是cookie,以防止人们清除其cookie,以防伪造不被任何人推荐,或者用户根本不接受cookie。

    当然,有可能根本不保存任何内容,并让用户直接登陆注册页面。但是,如果用户离开或更改页面,引荐ID将会丢失。

    <强> C)

    在这种情况下我不会在RDBMS上使用CSV,而是我可能会有一个带有user_id(注册人)和referral_id(推荐ID)的新表。但是,有时可能需要CSV或序列化数据。

    <强>摘要

    用户点击引荐链接,在用户浏览器上保存引荐ID的cookie,并增加数据库中此ID的点击次数。

    当用户提交注册表单时,您检查cookie,如果找到了cookie,则根据此cookie中的引用ID增加引用计数,