Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Проводник на php
 
 автор: Максимыч   (22.06.2006 в 10:44)   письмо автору
 
 

Решил написать скрипт наподобии проводника в 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

Помогите плиз.

   
 
 автор: KPETuH   (22.06.2006 в 13:02)   письмо автору
 
   для: Максимыч   (22.06.2006 в 10:44)
 

сканируй каждую папку если в ней есть еще папки то сканируй и их и так до самого верху вот тебе и весь скрипт только нафига тебе все дерево выводить непонятно, делал бы лчше как в фаре две панельки и все

   
 
 автор: Alexx   (22.06.2006 в 21:17)   письмо автору
 
   для: Максимыч   (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 ?

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования