Я работаю над своим многоуровневым маркетингом.
Теперь я могу успешно отослать пользователей и показать их как показано ниже:
Мои уровни
Уровень 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 получит бонусное вознаграждение …
Вы также можете хранить уровни верхних уровней в своей пользовательской таблице. Во время регистрации вы берете вверх, затем вверх и т.д., чтобы позже вы могли получить их при запросе таблицы пользователя.
Я делаю это на 6 уровнях, так что это еще 6 запросов, но мне все равно, регистрация не происходит миллион раз в день.
Вот моя таблица пользователей из моего обмена трафиком … надеюсь, это поможет. Как вы можете видеть, я также использую столбец 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
Это все, что я могу сделать, я думаю.
Других решений пока нет …