|
|
|
| Доброго! Вот 3 день мучаюсь с скриптом, осталась мелочь, но эта мелочь никак не выходит у меня..
Пытаюсь адаптировать дерево на js html код http://javascript.ru/ui/tree
для вывода данных с базы. Иначе говоря обвернуть мой выводимый текст в HTML теги для получения структуры дерева.
Понимаю, что мой скрипт далеко не правильный и не читаемый, но такой написал:
Вот что имею:
<? function show_categories($id) {
global $db,$count,$mass,$count_cat,$i,$cat,$pod_cat;
$e=$db->query("SELECT * FROM " . PREFIX . "_category where parentid='".$id."' and id <>19");
$mass['left'][]='<ul class="Container">';
while ( $row = $db->get_row($e)) {
$query_all = $db->query("SELECT * FROM `".PREFIX."_post` where category LIKE '%".$row['id']."%'");
$count = $db->num_rows($query_all);
if ($i<=intval($count_cat/2)){
if ($row['parentid']!=0) {$mass['left'][]='<ul class="Container">
<li class="Node ExpandLeaf">
<div class="Expand"></div>
<div class="Content_tree">'.$row['name'].'</div>
</li>
</ul></li>
';} else {
$mass['left'][]='<li class="Node IsRoot ExpandClosed">
<div class="Expand"></div>
<div class="Content_tree">'.$row['name'].'</div>';
}
}
else { /*
if ($row['parentid']!=0) {$mass['right'][]='<ul class="Container">
<li class="Node ExpandLeaf">
<div class="Expand"></div>
<div class="Content_tree">'.$row['name'].'</div>
</li>
</ul></li>
';} else {
$mass['right'][]='<li class="Node IsRoot ExpandClosed">
<div class="Expand"></div>
<div class="Content_tree">'.$row['name'].'</div>';
}*/
}
$i++;
show_categories( $row['id'] );
}
$mass['left'][]='</ul>';
return $mass;
}
$mass = show_categories(0);
?>
<div onclick="tree_toggle(arguments[0])">
<div>Root</div>
<div style="float:left; height:auto; width:300px; border:1px solid #ccc"><?
foreach ($mass['left'] as $d) {
echo $d;
}
?>
</div>
<div style="height:auto; width:300px; border:1px solid red; margin-top:250px"><?
foreach ($mass['right'] as $d) {
//echo $d;
}
?></div>
</div>
|
В теле функции идет проверка на "дитя", если есть - то оно обворачивается одним HTML кодом, если нет - то другим (исходя из структуры представленной на сайте выше) .
Помогите пожалуйста, думаю тут нужны спецы и "острый" глаз | |
|
|
|
|
|
|
|
для: OLi
(07.08.2011 в 00:32)
| | Вот исходный пример дерева с 1 вложенностью:
<ul class="Container">
<li class="Node IsRoot ExpandOpen">
<div class="Expand"></div>
<div class="Content">Root</div>
<ul class="Container">
<li class="Node ExpandLeaf">
<div class="Expand"></div>
<div class="Content">Item 1</div>
</li>
</ul>
</li>
</ul>
|
Для всех "детей" обрамлял в:
<ul class="Container">
<li class="Node ExpandLeaf">
<div class="Expand"></div>
<div class="Content">Item 1</div>
</li>
</ul>
|
И родителей в:
<ul class="Container">
<li class="Node IsRoot ExpandOpen">
<div class="Expand"></div>
<div class="Content">Корень</div>
...
</li>
</ul>
|
Нуждаюсь в помощи!! | |
|
|
|
|
|
|
|
для: OLi
(07.08.2011 в 03:44)
| | Все в отпуске что-ли? Если что-то не понятно, могу дать объяснения для скорейшего решения задачи. | |
|
|
|
|
|
|
|
для: OLi
(07.08.2011 в 17:35)
| | Можно ускорить решение, если дадите кусочек дампа вашей базы данных, многих останавливает то, что ситуацию нельзя воспроизвести, чтобы посмотреть что получается и как поправить код. | |
|
|
|
|
|
|
|
для: cheops
(07.08.2011 в 21:03)
| | Пожалуйста:
-- Структура таблицы `dle_category`
--
CREATE TABLE `dle_category` (
`id` smallint(5) NOT NULL auto_increment,
`parentid` smallint(5) NOT NULL default '0',
`posi` smallint(5) NOT NULL default '1',
`name` varchar(50) NOT NULL default '',
`alt_name` varchar(50) NOT NULL default '',
`icon` varchar(200) NOT NULL default '',
`skin` varchar(50) NOT NULL default '',
`descr` varchar(200) NOT NULL default '',
`keywords` text NOT NULL,
`news_sort` varchar(10) NOT NULL default '',
`news_msort` varchar(4) NOT NULL default '',
`news_number` smallint(5) NOT NULL default '0',
`short_tpl` varchar(40) NOT NULL default '',
`full_tpl` varchar(40) NOT NULL default '',
`metatitle` varchar(255) NOT NULL default '',
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=27 DEFAULT CHARSET=utf8 AUTO_INCREMENT=27 ;
--
-- Дамп данных таблицы `dle_category`
--
INSERT INTO `dle_category` VALUES (2, 0, 1, 'Транспорт и перевозки', 'transport-i-perevozki', '{THEME}/images/icon/01.gif', '', 'Транспорт и перевозки', 'Транспорт и перевозки', 'title', 'ASC', 0, '', '', 'Транспорт и перевозки');
INSERT INTO `dle_category` VALUES (3, 0, 1, 'Техника для дома и офиса', 'tehnika-dlya-doma-i-ofisa', '{THEME}/icon/03.gif', '', 'Техника для дома и офиса', 'Техника для дома и офиса', '', '', 0, '', '', 'Техника для дома и офиса');
INSERT INTO `dle_category` VALUES (4, 0, 1, 'Мебель и Все для комфорта', 'mebel-i-vse-dlya-komforta', '{THEME}/icon/02.gif', '', 'Мебель и Все для комфорта', 'Мебель и Все для комфорта', '', '', 0, '', '', 'Мебель и Все для комфорта');
INSERT INTO `dle_category` VALUES (5, 0, 1, 'Потребительские товары', 'potrebitelskie-tovary', '{THEME}/icon/04.gif', '', 'Потребительские товары', 'Потребительские товары', '', '', 0, '', '', 'Потребительские товары');
INSERT INTO `dle_category` VALUES (6, 0, 1, 'Продукты питания и напитки', 'produkty-pitaniya-i-napitki', '{THEME}/icon/05.gif', '', 'Продукты питания и напитки', 'Продукты питания и напитки', '', '', 0, '', '', 'Продукты питания и напитки');
INSERT INTO `dle_category` VALUES (7, 0, 1, 'Торговые центры Рынки', 'torgovye-centry-ynki', '{THEME}/icon/06.gif', '', 'Торговые центры Рынки', 'Торговые центры Рынки', '', '', 0, '', '', 'Торговые центры Рынки');
INSERT INTO `dle_category` VALUES (8, 0, 1, 'Финансовые и страховые учреждения', 'finansovye-i-strahovye-uchrezhdeniya', '{THEME}/icon/07.gif', '', 'Финансовые и страховые учреждения', 'Финансовые и страховые учреждения', '', '', 0, '', '', 'Финансовые и страховые учреждения');
.................
........................
..............................
|
Думаю стоит обратиться к первоисточнику на сайт, чтобы понять как обвернуть хтмл-ем... | |
|
|
|
|
|
|
|
для: OLi
(07.08.2011 в 23:17)
| | Народ, неужели так сложно? там дело только в HTML | |
|
|
|
|
|
|
|
для: OLi
(08.08.2011 в 16:33)
| | Вопрос решен | |
|
|
|
|