使用 PHP 将推荐数量和推荐 ID 添加到 MySQL 数据库中

Posted

技术标签:

【中文标题】使用 PHP 将推荐数量和推荐 ID 添加到 MySQL 数据库中【英文标题】:adding the number of referrals and referral id's into the MySQL DB using PHP 【发布时间】:2011-07-17 12:24:36 【问题描述】:

我设置了一个推荐系统,用户输入他们的电子邮件地址,然后可以推荐朋友。给朋友一个唯一的 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']; 获取推荐人代码。

对于数据库中的每个用户,我要跟踪:

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

基本上需要 3 列。

上述各项(a、b 和 c)必须放在代码中的什么位置才能按照我想要的方式运行?我也不确定如何在 PHP 中编写所有这些代码,以及 mysql 数据库中需要哪些特定类型的列属性。 任何帮助将不胜感激!

谢谢!

【问题讨论】:

@CarpeNoctumDC:非常感谢您昨天为实现迄今为止所做的工作所提供的帮助。 【参考方案1】:

A)

您可以通过 3 种方法来计算推荐链接被点击的次数。

    每次点击,总是 每次调用 URL 时,都会更新数据库中的值。这意味着一个人可以不断地点击,它都会被存储起来。有意或无意。

    每次独立点击 您将在用户上存储一个 cookie,并且仅在此 cookie 不存在时增加计数。这将防止人们在单击链接两次时意外增加计数。但是,他们仍然可以清除 cookie 以增加计数。

    每次唯一点击 在这里,您可以选择存储点击的来源 IP,并且仅当 IP 不存在于数据库中时才增加计数。

B)

您必须保存一个 cookie(无论上述方法如何)。在此 cookie 中,您将保存此推荐人在您的数据库中的任何 ID。

在极端情况下,您可能希望保存到数据库而不是 cookie,以防止人们清除他们的 cookie,因为假冒没有被任何人推荐或用户根本不接受 cookie。

当然,也可以完全不保存任何内容,让用户直接进入注册页面。但是如果用户离开或更改页面,referrers ID 将会丢失。

C)

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

总结

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

当用户提交注册表时,您会检查 cookie,如果找到 cookie,则根据该 cookie 中的推荐 ID 增加推荐计数,

【讨论】:

以上是关于使用 PHP 将推荐数量和推荐 ID 添加到 MySQL 数据库中的主要内容,如果未能解决你的问题,请参考以下文章

php 使用短代码按用户ID计算已发布产品的数量。使用短代码的示例[my-products id ='1']。

各种实用的 PHP 开源库推荐

ldap_add():添加:添加新用户时的推荐

ecshop3 调用指定分类下推荐/热卖/新品商品,可指定调用数量

本来打算学习PHP的但是我身边的人推荐我去学Java,这是为什么?

PHP获取页面执行时间的方法(推荐)