I use this script to create array with hierarchy categories:
$refs = array();
$list = array();
$sql = "SELECT item_id, parent_id, name FROM items ORDER BY name";
$result = mysql_query($sql);
while($data = @mysql_fetch_assoc($result)) {
$thisref = &$refs[ $data['item_id'] ];
$thisref['parent_id'] = $data['parent_id'];
$thisref['name'] = $data['name'];
if ($data['parent_id'] == 0) {
$list[ $data['item_id'] ] = &$thisref;
} else {
$refs[ $data['parent_id'] ]['children'][ $data['item_id'] ] = &$thisref;
}
}
How I can get level of element array? This is example:
- Cat A (level 0)
- Sub-Cat 1 (level 1)
- Sub_Sub_Cat 1 (level 2)
- Sub_Sub_Cat 2 (level 2)
- Sub_Cat 2 (level 1)
- Sub-Cat 1 (level 1)
- Cat B (level 0)
- Cat C (level 0)
and here is source: