Това е готов пример от интернет, иначе принципа е същия.. просто не ми се занимаваше да ти обяснявам всичко на ново, което е говорено хиляди пъти.
Първо разгледай тези примери тук: http://www.ozzu.com/programming-forum/php-mysql-multi-level-tree-categories-t70918.html
Трябват ти съвсем малко познания по английски, за да разбереш за какво става на въпрос.
PHP:
<?php
$SQL = mysql_query("SELECT a.name AS parent, b.name AS child FROM `categories` AS a, `categories` AS b WHERE a.id = b.parent") or die(mysql_error());
for ($a=0; $a < mysql_num_rows($SQL); $a++) {
$SQL_Array = mysql_fetch_array($SQL);
$parent = $SQL_Array['parent'];
$child = $SQL_Array['child'];
if ($parent != $prev_parent) {
echo "$parent<BR>";
}
echo "---$child<BR>";
$prev_parent=$parent;
}
?>
Категория 1
---1 Субкатегория 1
---1 Субкатегория 2
---1 Субкатегория 3
Категория 2
---2 Субкатегория 1
---2 Субкатегория 2
---2 Субкатегория 3
Категория 3
---3 Субкатегория 1
---3 Субкатегория 2
---3 Субкатегория 3
[sql]CREATE TABLE categories(
`id` INT(25) NOT NULL AUTO_INCREMENT,
`parent` INT(25) NOT NULL,
`name` VARCHAR(25) NOT NULL,
`description` VARCHAR(255) NOT NULL,
PRIMARY KEY (`id`),
INDEX `parent` (`parent`),
INDEX `name` (`name`)
);[/sql]
Така можеш да си създаваш - суб-суб-суб-суб категории, колкото искаш.