【问题标题】:Multi level referral system多级推荐系统
【发布时间】:2014-11-18 10:42:05
【问题描述】:
username    referrer
--------    --------
admin
kelly88     admin   // UPDATE USERNAME ADMIN WITH +5 POINTS //
jacob       kelly88 // UPDATE USERNAME ADMIN WITH +3 POINTS AND USERNAME kelly88 WITH +5 POINTS //
david16     jacob   // UPDATE USERNAME ADMIN WITH +1 POINTS AND USERNAME kelly88 WITH +3 POINTS AND USERNAME jacob WITH +5 POINTS //

这可能吗。如果是 - 如何?

我只知道如何使用一级。

$query = 'UPDATE users SET points = points + :points WHERE username = :username';
$select = $db->prepare($query);
$select->bindValue(':points', 5.00, PDO::PARAM_STR);
$select->bindValue(':username', 'admin', PDO::PARAM_STR);// admin = $userInfo['referrer']
$select->execute();

【问题讨论】:

  • 点 = :points +5

标签: php system


【解决方案1】:

看来您正在寻找 PHP 解决方案。由于您没有表明您正在使用数据库,因此我假设数据位于数组中。不幸的是,我现在无法对其进行测试,但这样的事情应该可以完成:

$refs = array("admin" => "", "kelly88" => "admin", "jacob" => "kelly88", "david16" => "jacob");
$points = array();

foreach ($refs as $usr => $ref)
{
   reward($ref,5);
}

function reward($ref,$rew)
{// rewards: 5-3-1 points
   global $refs, $points;
   if ($ref && array_key_exists("ref",$refs))
   {
       if (!array_key_exists($ref,$points)) $points[$ref]=0;
       $point[$ref]+=$rew;  
       if ( $rew > 1)  reward($refs[$ref] , $rew-2); // referrer's referrer and onwards...

   }
}

【讨论】:

    猜你喜欢
    • 2020-11-08
    • 2014-06-10
    • 2012-12-19
    • 1970-01-01
    • 2012-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多