ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

使用PHP和MySQL的用户推荐系统

2019-09-03 11:16:18  阅读:194  来源: 互联网

标签:php mysql database-design referrals


我已经有一个完全承诺的会员制度,并希望整合我自己的用户推荐系统,但想要一些提示,建议真正做到这一点.

我当前的注册用户表是类似的

users (table)
– id (user id)
– email (user email)
– password (hash of users password)
– reg_date (date user registered)

我还有其他一些领域,但与我想做的事情无关,为了让事情尽可能简单,我把它们排除在外.

我正在考虑创建一个名为referrals的新表,例如当用户表中我的网站上的注册用户引用某人时(我想我会创建一个表单,询问他们想要引用的人的电子邮件及其名称并将其添加到然后它会在那里显示他们推荐的人以及他们推荐了多少人,以及他们推荐的人是否加入了我的网站.

我希望有人能够在我的推荐表中解释我需要的逻辑来跟踪推荐吗?

到目前为止我的表看起来像这样:

referrals (table)
– uid (id of referrer, this would be a registered user from users table)
– ref_count (total the referrer from users table has referred people)
– action (maybe not rite name) (if the person who was referred completed signup)
– I guess some id or something for the person being referred, not sure and what ever else I may need.

显然,在注册页面上,我会有一个推荐人文本框,用户可以输入他们被推荐的用户名,并检查他们是否被已注册的会员推荐,我想在推荐电子邮件链接中我会添加推荐的用户和在注册页面做一个简单的检查就像注册一样?ref = username_here

如果ref通过get自动将用户名添加到文本框中.

正如你所看到的那样,我正在努力应对推荐表背后的逻辑,如果有人可以解释我还需要什么,我会喜欢它吗?我需要在php中完成所有工作(而不是代码),这只是我应该做的快速粗略指导.我知道我需要做一些检查等检查,以确保他们之前没有提到它们(出于垃圾邮件的原因),并且他们想要推荐的人的电子邮件之前没有被其他人推荐(出于垃圾邮件的原因)他们想要推荐的人的电子邮件不存在于用户表等已经注册的成员中.

也许我正在努力比实际更难,但我出于某种原因没有得到它背后的逻辑,如果有人能告诉我,我正在做的事情是完全错误的,而不是最好的方法去做它请做.

我想你可以说我要求一个推荐表的模型(草稿)来做我想要的事情以及我应该在php中做的事情将它们整合在一起.

解决方法:

如下设置推荐表:

referrals:
    id (primary key)
    referrer_id (user who is referring someone else)
    referred_email (email of person being referred)
    status (referred[default], registered)
    created_on
    updated_at

遵循政策“不信任任何人”,您不应该使用名称作为推荐中的字段.例如.我发送了推荐信息:email => your_email,name => abuse.它降级了你.

对于计数没有.转介:

select count(*) as referral_count from referrals where referrer_id = 'user_id'

标签:php,mysql,database-design,referrals
来源: https://codeday.me/bug/20190903/1797833.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有