|
|
|
| Решил написать скрипт наподобии проводника в Windows. Алгоритм очень простой: есть таблица состоящая из трёх полей id kat и name. Id - это порядковый номер "папки", kat - номер id родительской папки и name- это имя папки. Например такая структура:
| id | kat | name |
| 1 | 0 | Корень |
| 2 | 1 | Папка 1|
| 3 | 1 | Папка 2|
| 4 | 2 | Папка 3 |
|
В этом примере есть папка Корень которая содержит две папки: Папка1 и Папка2. А Папка 1 содержит к тому же ещё Папку 3.
Вот в чём у меня проблема. Какой алгоритм должен быть у скрипта чтобы он вывел всё дерево сразу, т.е. чтобы было так:
-Корень
---Папка1
------Папка3
---Папка2
|
Помогите плиз. | |
|
|
|
|
|
|
|
для: Максимыч
(22.06.2006 в 10:44)
| | сканируй каждую папку если в ней есть еще папки то сканируй и их и так до самого верху вот тебе и весь скрипт только нафига тебе все дерево выводить непонятно, делал бы лчше как в фаре две панельки и все | |
|
|
|
|
|
|
|
для: Максимыч
(22.06.2006 в 10:44)
| | ya vsegda delaiy tak:
<?
$spisok = mysql_query("zapros vsex papok");
$c_spisok = mysql_numrows($spisok);
function tree($id, $space )
{
global $spisok, $c_spisok;
$i = 0;
while ($i < $c_spisok);
{
if ($id == mysql_result(kat))
{
echo mysql_result("");
echo tree(mysql_result(id), "-");
}
$i++;
}
}
?>
| mogno li sdelat' bistrey ? | |
|
|
|