|
|
|
| Меня заклинило, не могу придумать алгоритм =(
Вобшем мне нужно отсортировать страници,
тоесть страници с подстраницами, ну как папки в подпапках в них файлы =)...
есть таблица вида
| название страницы | ее id | id категории |
---------------------------------------------------------------
| Титл | 1 | 0 |
---------------------------------------------------------------
|
надо отсортировать
так
Титл -
|-- страница 1
|-- страница 2
|-- страница 1
|-- страница 2
|
Помогите | |
|
|
|
|
|
|
|
для: CrazyAngel
(05.05.2006 в 21:19)
| | что-то не понял откуда беруться
|-- страница 1
|-- страница 2
|-- страница 1
|-- страница 2
|
| |
|
|
|
|
|
|
|
для: Ziq
(05.05.2006 в 21:30)
| | Ну это типа иерархия что-ли =) | |
|
|
|
|
|
|
|
для: CrazyAngel
(05.05.2006 в 21:37)
| | Нет, то что это иерархия это понятно, откуда берутся названия.
Ну т.е. почему в странице 2 есть подстраницы, а в странице 1 - нет. Откуда они беруться? | |
|
|
|
|
|
|
|
для: Ziq
(05.05.2006 в 22:06)
| | Если у страници есть ID категнории то она подстраница страници с такимже id извините за тафтологию =) | |
|
|
|
|
|
|
|
для: CrazyAngel
(05.05.2006 в 22:09)
| |
<?
function iera($id_parent,$level=-1)
{
// Устанавливаем уровень
$level++;
$query = "select * from table
where id_parent = $id_parent";
$myq = @mysql_query($query);
if(!$myq) return false;
// Если найдена хоть одна запись - выводим данные
if(mysql_num_rows($myq)>0)
{
while($fet = mysql_fetch_array($myq))
{
$id = $fet['id'];
$title = $fet['title'];
echo str_repeat("nbsp;",$level)."$title\r\n";
// Осуществляем рекурсивный вызов для вывода
// подчинённых записей
iera($id, $level); // Опускаемся на уровень ниже
}
}
}
iera(0);
?>
|
Может где ошибки, просто переделывал старый файл, может что лишнее стер, но алгоритм я думаю понятен.
P.S. Спасибо cheops'у, это он мне подсказал когда-то алгоритм | |
|
|
|