Как я могу построить реферальную систему в PHP? - PullRequest
1 голос
/ 22 августа 2011

У меня есть веб-сайт с реферальной системой, и я хочу, чтобы пользователи могли видеть, на каких пользователей они ссылались, используя древовидную структуру.

Моя таблица базы данных настроена так, что когда пользователь ссылается на кого-то со своим реферальным кодом, новые пользователи получают ID, спонсорский код (реферальный код от своего «спонсора», известного как человек, который ввел его на этот сайт) и реферальный код (его собственный реферальный код, чтобы другие люди могли присоединиться к нему).

Я понятия не имею, как я могу получить эту информацию из моей базы данных MySQL и в скрипт в виде дерева.

Мне нужно, чтобы пользователь мог видеть всех людей, на которых он ссылался, на 10 уровней.

Возможно ли это и как я могу это сделать?

1 Ответ

0 голосов
/ 22 августа 2011

Вы должны взглянуть на иерархические данные (http://www.sitepoint.com/hierarchical-data-database/)

<?php

    function tree_view($index)
    {
        $q = mysql_query("SELECT * FROM table_name WHERE SCode=$index");
        if (!mysql_num_rows($q))
            return;
        echo '<ul>';
        while ($arr = mysql_fetch_assoc($q))
        {
            echo '<li>';
            echo $arr['UserID']; //you can add another output there 
            tree_view($arr['RCode']);
            echo '</li>';
        }
        echo '</ul>';
    }

    mysql_connect('localhost', 'root', '');
    $link = mysql_connect('localhost', 'root', '') or die('Could not connect: ' . mysql_error());
    mysql_select_db('test') or die('Could not select database');

    tree_view(11111);
...