Новости | FAQ | Авторы | Документация | В действии | Библиотека |
Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
Mizter Egoist 03.02.2016 10:09 / 03.02.2016 10:42
CREATE TABLE IF NOT EXISTS `path` ( `anc` INT NOT NULL, `dsc` INT NOT NULL, `lvl` INT NOT NULL, PRIMARY KEY(anc, dsc), FOREIGN KEY (anc) REFERENCES pages (pID), FOREIGN KEY (dsc) REFERENCES pages (pID) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 INSERT INTO `path` (`anc`, `dsc`, `lvl`) VALUES (1, 1, 1), (1, 2, 2), (1, 3, 2), (1, 4, 2), (2, 5, 3), (2, 6, 3), (5, 7, 4), (3, 8, 3), (8, 9, 4);Пытаюсь выводить:
$sections[^get.getPages[$.tID[1]]] ^if($sections){ ^connect[$connect_string]{ $tPage[^table::sql{ SELECT p.*, h.anc AS parent FROM pages p JOIN path h ON p.pID = h.dsc LEFT JOIN path t ON (h.anc = t.anc AND t.lvl = 1) WHERE h.anc IN (^sections.menu{$sections.pID}[,]) }] } $hPage[^tPage.hash[parent][ $.type[table] $.distinct(true) ]] } ^if($sections){<ul class="list">^print[$hPage]($tPage.pID)</ul>} @print[tree;parent][locals] $parent(^parent.int(0)) $children[$tree.$parent] $result[] ^if($children){ $result[^children.menu{ <li> <label><input type="checkbox" name="section" value="$children.pID"> $children.name</label> ^if($children.pID ne $children.parent){ <ul class="list">^print[$tree]($children.pID)</ul> } </li> }] }LEFT JOIN, IFNULL(ancestor_id, 0) AS ancestor_id меня заинтересовал, почитал, попробовал, не получилось, как правильно формировать запрос?
<ul class="list"> <li><label><input type="checkbox" name="section" value="97"> Root Parent</label></li> <li><label><input type="checkbox" name="section" value="117"> Child</label> <ul class="list"> <li><label><input type="checkbox" name="section" value="127"> Child 2</label> <ul class="list"> <li><label><input type="checkbox" name="section" value="137"> Child 3</label> <ul class="list"> <li><label><input type="checkbox" name="section" value="147"> Child 5</label> <ul class="list"></ul> </li> </ul> </li> <li><label><input type="checkbox" name="section" value="147"> Child 4</label> <ul class="list"></ul> </li> </ul> </li> </ul> </li> </ul>