查询并显示推荐人详细信息


Query and Display referrer details

我有一个用PHP和mysqli构建的网站,现在我正在为这个网站构建管理面板。我在查询和显示推荐数据时遇到了一些困难,我不知道该怎么做。

我有一个名为user_registration的表,字段包括,user_name,email,password,referrer。每当任何注册会员推荐他人时,推荐人用户名将保存在"推荐人"字段中。

现在,我想要的是只获取有推荐的成员的行(指由我的注册成员推荐的),还想计算一个成员有多少推荐并回复它。

例如:我有20个注册会员,其中5个会员有一些推荐,所以我想查询和回复那些有推荐的会员的用户名,并计算他们有多少推荐:

会员用户名推荐总数用户7 8用户6 6用户1 5用户9 3用户5 2

我的解决方案是。在用户表中创建一个新列,如"totalreferences"。通过这种方式,你可以很容易地跟踪他们推荐的人数。你也可以做一个新的表"推荐"。在这里,您可以保存推荐人的姓名、新人员的姓名和时间戳或其他信息。现在甚至可以查询不同的时段。

我认为您需要重新考虑数据库设置,而不是试图为复杂的查询让路,以使数据库能够工作。

我只是简单地给出一个想法,它可能会帮助你完成你的项目-

假设您的站点URL是http://yoursite.com

1) 每当用户注册时,您都可以为该用户生成一个随机密钥,并将其保存在该特定用户的数据库中。例如user1=>abc123

2) 现在,您可以告诉您的用户(可能在他们成功注册后的页面上),他/她的推荐人id是http://yoursite.com/?ref_id=abc123(通过将其作为新参数附加)

或者如果您的注册页面为http://yoursite.com/register,则为http://yoursite.com/register/?ref_id=abc123

3) 现在,他们可以将此链接分享给他们的朋友、同事等,也可以分享给他们想要的任何人。

4) 现在,假设一个人(可能是用户1所指的他的朋友)点击了上面的链接。他将登陆您的网站,并附上参数"ref_id"。

5) 只需使用$_REQUEST['ref_id']或$_GET['ref_id'],即可捕获其值并将其存储在SESSION变量中。这你可以在你的网站主页上做,例如index.php

6) 现在,如果该用户进行了注册,您可以在数据库中输入一个条目,即具有引用者id abc123(即user1)的用户曾经引用过他一次。

7) 因此,您可以为user1添加count = 1。如果更多的人使用相同的"ref_id"参数值,则可以继续递增计数。

8) 若用户登陆你们的网站时并没有这样的参数,那个么这意味着他并没有被任何人推荐。因此,这意味着他是第一种用户,即第1点中的用户。

9) 您可能还需要在某些地方处理一些验证部分。

编辑:

SELECT user_name, referrer FROM user_registration WHERE referrer > 0;

假设您已经准备好了一个适当的插入查询,它将为您提供问题中显示的表的结果。