2017-08-29 6 views
0

私は私の一レベルのマルチレベルマーケティングに取り組んでいます。 =私が私のレベル1ユーザー レベル3で言及 レベル2 =メンバー呼ばCodeigniter紹介者を取得してボーナス報酬を与えます

私のレベル

をレベル1 =メンバー:

は今、私は成功し、ユーザーと以下のようにそれらを表示する言及することができますメンバー

は私の問題は、ユーザーの任意の「レベル4」の下の場合に呼ばれている私のレベル2のユーザー私のレベル3のユーザーによって参照さ LEVE 4 =メンバーで言及新会員

これは次のようになります。

::Level 1:: ::Level 2:: ::Level 3:: ::Level 4:: 
- user_1  - user_2 - user_3  - user_4 

とレベル4の下の "user_4は、" 新しいメンバーを参照している場合..

私は100回の報酬のボーナスにUSER_3、USER_2、およびUSER_1を与える必要があります。

注:レベルにレベル4からユーザをいうユーザー 2.

USER_1はUSER_2と呼ばれるボーナス報酬を受け取るユーザのみ、USER_2はUSER_3とUSER_3をいう user_4

をいいます

そうUSER_1までUSER_3ボーナス報酬を受け取ることになります...

+1

あなたのコードを教えてください。スタックオーバーフローはコードを書くサービスではありません。 –

答えて

0

あなたも、あなたのユーザテーブルにアップラインのレベルを保存することができます。登録時にuplineを取得し、uplineのuplineなどを取得して、後でユーザーテーブルを照会するときに取得できるようにします。

私はこれを6レベル深くするので、6つのクエリが増えますが、実際には気にしません。登録は1日に100万回は発生しません。

enter image description here

ここに私のユーザテーブルには、私のトラフィック交換からだ...それは役立ちます願っています。ご覧のとおり、私はupline_val列を使ってサーフクレジットを保存しておきます。後で「紹介からクレジットクレジット」ボタンを使ってそのuplinesでクレームすることができます。

とメンバーを作成するためにモデルコードを登録します。

$data = array(
     'username' => $username, 
     'password' => password_hash($password, PASSWORD_DEFAULT), 
     'email' => $email, 
     'first_name' => $first_name, 
     'last_name' => $last_name, 
     'active' => $active, 
     'referred_by_id' => $referred_by_id, 
     'referral_url' => $this->session->userdata('referral_url'), 
     'next_subscription_update' => $now->format("Y-m-d H:i:s"), 
     'email_newsletter' => $newsletter, 
     'autoassign_pct' => Settings_model::$db_config['autoassign_value'] 
); 
    // select upline ids 
    $this->db->select('referred_by_id')->from(DB_PREFIX .'user')->where('user_id', $data['referred_by_id']); // $data['referred_by_id'] is passed in the url e.g. http://example.com/register/1867 
      $q = $this->db->get(); 

     if ($q->num_rows() == 1) { 
      $data['upline_lvl2'] = $q->row()->referred_by_id; 
      $this->db->select('referred_by_id')->from(DB_PREFIX .'user')->where('user_id', $data['upline_lvl2']); 
      $q = $this->db->get(); 

      if ($q->num_rows() == 1) { 
       $data['upline_lvl3'] = $q->row()->referred_by_id; 
       $this->db->select('referred_by_id')->from(DB_PREFIX .'user')->where('user_id', $data['upline_lvl3']); 
       $q = $this->db->get(); 

       if ($q->num_rows() == 1) { 
        $data['upline_lvl4'] = $q->row()->referred_by_id; 
        $this->db->select('referred_by_id')->from(DB_PREFIX .'user')->where('user_id', $data['upline_lvl4']); 
        $q = $this->db->get(); 

        if ($q->num_rows() == 1) { 
         $data['upline_lvl5'] = $q->row()->referred_by_id; 
         $this->db->select('referred_by_id')->from(DB_PREFIX .'user')->where('user_id', $data['upline_lvl5']); 
         $q = $this->db->get(); 

         if ($q->num_rows() == 1) { 
          $data['upline_lvl6'] = $q->row()->referred_by_id; 
         } 
        } 
       } 
      } 
     } 

// ...etc... 

$this->db->insert(DB_PREFIX .'user', $data); // $data is inserted here 

私は私が推測できることについてのすべてです。

関連する問題