2017-08-29 65 views
0

我正在開展我的unilevel多層次營銷。Codeigniter獲取推薦用戶並給予獎勵

現在我可以成功介紹的用戶,向他們展示如下:

我的水平

1級由我稱之爲=成員 2級=成員通過我的1級用戶 3級簡稱=構件通過我的2級用戶 LEVE 4 =構件通過我的3級用戶稱爲稱爲

我的問題是,如果「第4級」的任何的用戶的下稱爲新會員

它看起來像這樣。

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

如果 「user_4」 下的第4級提到一個新成員..

我需要給100名獎勵獎金user_3,user_2和USER_1。

注:將收到獎勵的唯一用戶是用戶 誰提到用戶從4級到2級

USER_1簡稱user_2,user_2簡稱user_3和user_3簡稱 user_4

所以user_3下來USER_1將收到獎勵......

+1

向我們顯示您的代碼。堆棧溢出不是代碼寫入服務。 –

回答

0

你可以存儲上線水平,你的用戶表了。在註冊期間,您可以獲取上線,然後上線等,以便稍後在查詢用戶表時獲取它們。

我這樣做6級深,所以它是6個更多的查詢,但我真的不在乎,註冊不會發生一天一百萬次。

enter image description here

這裏是從我的流量交換我的用戶表...希望它幫助。正如你所看到的,我還使用upline_val列來存儲衝浪積分,稍後可以通過他們的上線聲明一個按鈕「從推介中索取積分」。

和註冊模型代碼來創建成員:

$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 

這是對所有我能做的,我猜。