Меню с категории и подкатегории

vinsbg

Registered
Здравейте,

Как мога да направя такова меню с категории? http://3docean.net/category
Идеята е че имам списък с всички категории, когато се клине върху някоя да се отвори списък с всички подкатегории на тази категория .. след това съответно ако подкатегорията има под-подкатегория и така ..

Точно, както е на сайта, който съм посочил. Може ли някакъв туториал нещо?
Също и самия дизай на базата, как да навържа категории .. подкатегории .. etc

Благодаря предварително! :?:
 
http://board.phpbuilder.com/showthread.php?10379963-RESOLVED-Unlimited-Infinite-Levels-(depths)-of-Categories-with-PHP-and-MySQL&p=10981519&viewfull=1#post10981519
 
Бях си правил нещо подобно, но използвайки select тагове. Идеята е, че като избереш нещо от главния селект, се показва селект, чието id e value-то на цъкнатия option. Може да го направя и да е безкрайно (да не е от точно три вида select), но идеята е подобна.

http://codepen.io/man/pen/oBFlE
 
@eLite, опитвам се да подкарам това, което написа, но нещо не излиза нищо. Стои празна страница
Код:
function category_list($category_parent_id = 0)
{
    // build our category list only once
    static $cats;
    if (!is_array($cats)) {
        $sql = 'SELECT * FROM cat';
        $res = mysql_query($sql);
        $cats = array();
        while ($cat = mysql_fetch_assoc($res)) {
            $cats[] = $cat;
        }
    }
    // populate a list items array
    $list_items = array();
    foreach($cats as $cat) {
        // if not a match, move on
        if (( int )$cat['category_parent_id'] !== ( int )$category_parent_id) {
            continue;
        }
        // open the list item
        $list_items[] = '<li>';
        // construct the category link
        $list_items[] = '<a href="#' . $cat['id'] . '">';
        $list_items[] = $cat['name'];
        $list_items[] = '</a>';
        // recurse into the child list
        $list_items[] = category_list($cat['id']);
        // close the list item
        $list_items[] = '</li>';
    }
    // convert to a string
    $list_items = implode('', $list_items);
    // if empty, no list items!
    if ('' == trim($list_items)) {
        return '';
    }
    // ...otherwise, return the list
    return '<ul>' . $list_items . '</ul>';
}

На мен в базата категориите са ми запазени в една таблица по този начин:
Код:
id        name          parentid
1         Cat-1                1
2         Cat-2                2
3         Cat-3                3
4         Cat-1-sub        1
5         Cat-1-sub        1
6         Cat-1-sub        1
7         Cat-2-sub        2
8         Cat-2-sub        2
9         Cat-3-sub        3

Малко помощ може ли как точно ще стане?
 
vinsbg каза:
eLite каза:
PHP:
if (( int )$cat['[b]parentid[/b]'] !== ( int )$category_parent_id) {
Пак празно стои.

var_dump на category_list() връща
Код:
string '' (length=0)


Я дай output-a на:
PHP:
var_dump($cats);
// populate a list items array
 
Оправих го. Сега работи, както трябва. Много благодаря за помощта!
 

Back
Горе