Generating Family tree for multi level network

Discussion in 'PHP' started by alimoses, Sep 21, 2010.

  1. #1
    A database with members table with fields: member_id, referrer_id, level
    Each time a member is registered, the level of the member referrer is increase by 1.
    The highest level is 7.
    How do I generate a family tree using table members when I choose a particular member.
     
    alimoses, Sep 21, 2010 IP
  2. axelay

    axelay Peon

    Messages:
    54
    Likes Received:
    1
    Best Answers:
    0
    Trophy Points:
    0
    #2
    If you want to build a straight-forward tree structure, I don't see how the member level will help you.
    In any case, you need to use recursivity for this.
    I do not know your code but in pseudo-code I would do this:
    function getMemberData($id, $level = 0)
    {
      // SQL to retrieve the data for this user
      $sql = "SELECT * FROM users WHERE member_id = $id";
      //....
      echo str_pad($input, $level * 5, "-", STR_PAD_LEFT) . $member['name'] . "<br/>";
      if ($member['referrer_id'] > 0)
        getMemberData ($member['referrer_id'], $level + 1);
    }
    
    // Then just call the function for your user
    getMemberData (1337); // where 1337 is the user id
    
    Code (markup):
    This code will show something like this:
    user
    _____referrer 1
    __________referrer2

    Hope that would put you on the right track

    aXe
     
    axelay, Sep 21, 2010 IP