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

Форум PHP

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

 

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

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

тема: Карта сайта по алгоритму Nested sets?
 
 автор: slash2k   (22.08.2005 в 20:43)   письмо автору
70 байт
 
 

Есть таблица categories.


CREATE TABLE categories (
  id int(10) unsigned NOT NULL auto_increment,
  name varchar(128) NOT NULL default '',
  left_key int(10) unsigned NOT NULL default '0',
  right_key int(10) unsigned NOT NULL default '0',
  level int(10) unsigned NOT NULL default '0',
  parent_id int(10) unsigned NOT NULL default '0',
  PRIMARY KEY  (id),
  KEY cleft (left_key,right_key,level)
) TYPE=MyISAM;

#
# Дамп данных таблицы 'categories'
#

INSERT INTO categories VALUES (162, 'ывфы', 13, 14, 2, 158);
INSERT INTO categories VALUES (163, 'ывыфв', 6, 11, 3, 159);
INSERT INTO categories VALUES (164, 'ыфвыфв', 7, 8, 4, 163);
INSERT INTO categories VALUES (165, 'ыфвфыв', 19, 30, 2, 161);
INSERT INTO categories VALUES (166, 'фывфыв', 20, 29, 3, 165);
INSERT INTO categories VALUES (157, 'Новости', 2, 3, 1, 1);
INSERT INTO categories VALUES (158, 'Статьи', 4, 15, 1, 1);
INSERT INTO categories VALUES (1, 'Главная', 1, 32, 0, 0);
INSERT INTO categories VALUES (170, 'wqe', 22, 23, 5, 168);
INSERT INTO categories VALUES (168, 'цйуйу', 21, 26, 4, 166);
INSERT INTO categories VALUES (169, 'йцуйцу', 27, 28, 4, 166);
INSERT INTO categories VALUES (161, 'в', 18, 31, 1, 1);
INSERT INTO categories VALUES (167, 'цйу', 9, 10, 4, 163);
INSERT INTO categories VALUES (160, 'ыфв', 16, 17, 1, 1);
INSERT INTO categories VALUES (159, '2005', 5, 12, 2, 158);
INSERT INTO categories VALUES (171, 'wqeq', 24, 25, 5, 168);



Есть картинки типа

|
|--
|_.

Как при помощи всего этого сделать древовидную карту сайта (по типу http://www.unesco.ru/rus/pages/sitemap.php), всмысле как правильно поставить картинки, чтобы получилось дерево?

Все это дело можно выстроить без картинок в два счета (но тогда это будет не дерево), а с картинками парюсь уже дня 3. ПОМОГИТЕ ПЛИЗ!

   
 
 автор: Ziq   (23.08.2005 в 08:56)   письмо автору
 
   для: slash2k   (22.08.2005 в 20:43)
 

.

   
 
 автор: slash2k   (23.08.2005 в 18:41)   письмо автору
 
   для: Ziq   (23.08.2005 в 08:56)
 

ну помогите же кто-нибудь! ПОЖАЛУЙСТА!

   
 
 автор: Shorr Kan   (24.08.2005 в 05:01)   письмо автору
 
   для: slash2k   (23.08.2005 в 18:41)
 

Лично я не очень понял проблемы. Разве нельзя в цикле создавать определенное количество <td> или &nbsp; , чтобы появлялся отступ? Ну а потом тег <img>, разумеется. Или затруднение не в этом?

   
 
 автор: slash2k   (24.08.2005 в 17:36)   письмо автору
 
   для: Shorr Kan   (24.08.2005 в 05:01)
 

Это все понятно. Дело в другом. Картинки тоже же нужно ставить не одинаковаые.
Например |_ - такую картинку, если это последняя категория. |-- -такую, если нет.
Но это тоже понятно. А вот если есть такая картина.

Главный родитель
|
|--Родитель 1
| |
| |--Сын 1
| |
| |_Cын-Родитель 2
| | |
| | |--Сын 1
| | |
| | |_ Сын 2
|
|_Родитель 2
| |
| |--Сын 1
| |
| |_Cын-Родитель 2
| | |
| | |--Сын 1
| | |
| | |_ Сын 2

Как учесть какое количество | и пробелов нужно ставить около $row['name']?

   
 
 автор: Atom   (24.08.2005 в 17:56)   письмо автору
 
   для: slash2k   (24.08.2005 в 17:36)
 

По полю level в базе.

   
 
 автор: @ndry   (28.08.2005 в 20:51)   письмо автору
 
   для: Atom   (24.08.2005 в 17:56)
 

--

   
 
 автор: off   (16.09.2005 в 21:39)   письмо автору
1.6 Кб
 
   для: @ndry   (28.08.2005 в 20:51)
 

У меня та же проблема. Мучаюсь уже наверное недели 2. Меня уже это бксит но сделать нужно. Чеопс ПОМОГИ ПЛИЗ!!!!!!!!!!!!!!

Вот архив, в нем таблица с данными, картинки, и скрипт, который выводит дерево с отступами.

ПЕРЕПИШИТЕ ЭТОТ СКРИПТ ПОЖАЛУЙСТА, чтобы вместо отстуов были соотв. картинки, чтобы бало хотяби типа типа этого.

http://www.unesco.ru/rus/pages/sitemap.php

В архиве есть все что нужно.

ПОЖАЛУЙСТА! ПОЖАЛУЙСТА! ПОЖАЛУЙСТА! ПОЖАЛУЙСТА! ПОЖАЛУЙСТА! ПОЖАЛУЙСТА!

   
 
 автор: off   (17.09.2005 в 13:14)   письмо автору
 
   для: off   (16.09.2005 в 21:39)
 

Cheops, ну помоги пожалуйста

   
 
 автор: off   (18.09.2005 в 12:34)   письмо автору
 
   для: off   (17.09.2005 в 13:14)
 

На другом форуме подсказали сделать так


$sql="SELECT * FROM c_tree ORDER BY left_key"; 
$result=mysql_query($sql); 
$tree = array(); 
while ($row=mysql_fetch_array($result)){ 
    $left_key = $row ['left_key']; 
    $right_key = $row ['right_key']; 
    $level = $row ['level']; 
    $name = $row ['name']; 
    $parent_id = $row ['parent_id']; 
    $tree[] = $row; 

     
     
   $t = array(); 
for($i=0;$i>sizeof($tree);$i++) { 
     for ($j=0;$j<$tree[$i][level];$j++) { 
        if (!$t[j]) echo ' '; 
        else echo '|'; 
     } 
       
    //если первая в текущем уровне 
     if ($tree[$i-1][level]<$tree[$i][level]) { 
            $t[$tree[$i][level]] = 1; 
            echo 'L'; 
     } else { 
      
         //если естьветки текущего уровня 
         if (isset($tree[$i+1][level])) { 
              $t[$tree[$i][level]] = 1; 
              echo '|-'; 
         } else { 
         //если нету 
              $t[$tree[$i][level]] = 0; 
              echo 'L'; 
        } 
   }    
    
    echo $tree[$i][id]; 
}



Но вот тока этот код почему-то не работает. Подскажите плиз...

   
Rambler's Top100
вверх

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