Professional Web Applications Themes

building indentation in hierarchical data - MySQL

I'm trying to improve my ability to represent hierarchical data. Mike Hillyer's article (dev.mysql.com/tech-resources/articles/hierarchical-data.html) on hierarchical data describes a process of indenting nested set results based upon their depth within the data tree. The point here is that the indentation is constructed in MySQL. I was just wondering if anyone had managed something similar using the adjacency list model (ALM) and (excuse my ignorance here) a trigger, stored procedure or a bit of php - but again, building the indentation in MySQL. On a related point, Gijs Van Tulder's article (www.sitepoint.com/article/hierarchical-data-database) purports to build the indentation in php (using the ...

  1. #1

    Default building indentation in hierarchical data

    I'm trying to improve my ability to represent hierarchical data.

    Mike Hillyer's article
    (dev.mysql.com/tech-resources/articles/hierarchical-data.html) on
    hierarchical data describes a process of indenting nested set results
    based upon their depth within the data tree. The point here is that the
    indentation is constructed in MySQL.

    I was just wondering if anyone had managed something similar using the
    adjacency list model (ALM) and (excuse my ignorance here) a trigger,
    stored procedure or a bit of php - but again, building the indentation
    in MySQL.

    On a related point, Gijs Van Tulder's article
    (www.sitepoint.com/article/hierarchical-data-database) purports to
    build the indentation in php (using the ALM) but, unless I'm missing
    something, the list he builds does not seem to be indented. Am I
    missing something?

    Anyone get what I'm talking about? Any more info about either the php
    or mysql approach greatly appreciated.

    strawberry Guest

  2. #2

    Default Re: building indentation in hierarchical data


    strawberry wrote: 

    Well, here's Gijs's solution modified to provide the indentation (I
    think) he intended...

    // $parent is the parent of the children we want to see
    // $level is increased when we go deeper into the tree,
    // used to display a nice indented tree
    function display_children($parent, $level) {
    // retrieve all children of $parent
    $query = 'SELECT title FROM tree WHERE parent="'.$parent.'";';
    //echo $query;
    $result = mysql_query($query);

    // display each child
    while ($row = mysql_fetch_array($result)) {
    echo "<br>";
    // indent and display the title of this child
    echo str_repeat("&nbsp;&nbsp;",$level).$row['title']."\n";

    // call this function again to display this
    // child's children
    display_children($row['title'], $level+1);
    }
    }

    strawberry Guest

Similar Threads

  1. creating custom hierarchical data provider
    By rmeador in forum Macromedia Flex General Discussion
    Replies: 0
    Last Post: April 18th, 09:20 PM
  2. How do you create a drop-down hierarchical Data Grid?
    By Anonieko Ramos in forum ASP.NET Data Grid Control
    Replies: 0
    Last Post: November 14th, 11:09 AM
  3. Template controls and hierarchical data
    By bclegg in forum ASP.NET Data Grid Control
    Replies: 2
    Last Post: February 7th, 01:23 PM
  4. Nested Grids for Hierarchical Data
    By Yasir Hussain in forum ASP.NET Data Grid Control
    Replies: 2
    Last Post: December 9th, 09:20 AM
  5. Hierarchical data in datagrid
    By Nicolas Martinez in forum ASP.NET Data Grid Control
    Replies: 1
    Last Post: October 23rd, 01:33 AM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139