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

标签 php mysql database ajax

我设置了一个推荐系统,用户可以输入他们的电子邮件地址然后推荐 friend 。给 friend 一个唯一的 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 数据库中需要哪些特定类型的列属性。
非常感谢任何帮助!

谢谢!

最佳答案

A)

有 3 种方法可以计算推荐链接被点击的次数。

  1. 每次点击,始终如一 每次调用 URL 时,您都会更新数据库中的值。这意味着一个人可以连续点击,所有内容都将被存储。有意无意。

  2. 每次独立点击 您将为用户存储一个 cookie,并且仅在该 cookie 不存在时才增加计数。这将防止人们在点击链接两次时意外增加计数。但是,他们仍然能够清除他们的 cookie 以增加计数。

  3. 每次独特的点击 您可以在此处选择存储点击来自哪个 IP,并且仅当数据库中不存在该 IP 时才增加计数。

B)

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

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

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

C)

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

总结

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

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

关于php - 使用 PHP 将推荐数量和推荐 ID 添加到 MySQL 数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5341386/

相关文章:

javascript - 有没有办法改变http请求、响应位置?

php - 可以在 SQL 语句中使用正则表达式来过滤字符串中的数字吗?

php - Wordpress 数据库类 - MySQL Type Bit

database - 刷新 MQT 时如何避免在 DB2 中遇到事务日志空间问题?

php - 基于当前日期php构建选择列表

php - 使用 PHP 将字符串中的 <br> 替换为空格

While 循环中的 PHP 更新

mysql - 使用默认值填充 mysql 表

php - mysql_fetch_array 不适用于 1 行查询结果

mysql - 关于 FTP 服务器和数据库服务器之间的连接