使用 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']。
ecshop3 调用指定分类下推荐/热卖/新品商品,可指定调用数量