【问题标题】:Query and Display referrer details查询和显示推荐人详细信息
【发布时间】:2014-09-02 16:39:15
【问题描述】:

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

我有一个名为 user_registration 的表,字段包括用户名、电子邮件、密码、推荐人。每当任何注册会员推荐他人时,推荐人用户名将保存在“推荐人”字段中。

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

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

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

【问题讨论】:

  • 您是否准备好捕获推荐并将数据保存在数据库中的功能,而您只想提取那些推荐过某人的用户?或者您还没有准备好任何功能,想要一个完整的解决方案?
  • 我已经有一个工作功能,可以将数据发布到数据库我只想提取那些有推荐的成员的数据,并且还想计算每个成员有多少推荐,如上所述。我只想要可以根据上述说明提取数据的 PHP 代码。

标签: php mysql


【解决方案1】:

我的解决方案是。在您的用户表中创建一个新列,例如“totalreferrals”。通过这种方式,您可以轻松跟踪他们推荐的人数。您还可以创建一个新表“推荐”。在这里,您将保存推荐人姓名、新人员姓名和时间戳或其他内容。现在甚至可以查询不同的时期。

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

【讨论】:

    【解决方案2】:

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

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

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

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

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

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

    4) 现在,假设一个人(可能是他的 user1 推荐给他的朋友)点击了上面的链接。他将在附加参数“ref_id”的情况下登陆您的网站。

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

    6) 现在,如果该用户进行了注册,您可以在数据库中输入他曾被推荐人 ID abc123 的用户推荐过一次,即 user1。

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

    8) 如果用户登陆你的网站时没有这样的参数,那么这意味着他没有被任何人推荐。所以,这意味着他是第一种用户,即第 1 点的用户。 1).

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

    编辑:

    SELECT user_name, referrer FROM user_registration WHERE referrer > 0;
    

    假设您已准备好正确的插入查询,它会为您提供与问题中的表格一样的结果。

    【讨论】:

    • 感谢 WisdmLabs 的回复,但正如我已经说过的,我只想要可以根据我的需要查询、获取和回显数据的 PHP 代码。正如您提到的参数和验证点,我的代码中已经有这些参数和验证点,可以发布到我的数据库中,我只想提取数据。如果你能帮助我,请举一个例子来为我上面提到的需求提取数据。再次感谢您的回复。
    • 所以从第一个点开始。 7 从我的回答中,您可以运行insert 查询(可能在您的用户表中)以获取增量计数,最后运行select 查询以在您想要的任何地方显示它们。因为你没有列出你的代码。很难给你一个准确的代码。但是,我已经用示例代码编辑了我的答案。看看对你有没有帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-08
    • 2016-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多