parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Ответ

VRuzin 12.01.2006 14:49

Странно... у меня ваш код работает. Мой - нет. Приведу полный листинг:
$tree_table[^table::create[^tree_db[topic,topic_id,topic_main_id,7]]]
<table border="1">
^tree_table.menu{
	<tr>
		<td>
		   $tree_table.topic_id
                </td>
	</tr>
}
</table>

@tree_db[table_name;id_name;parent_id_name;id]
# здесь зугрузка из sql, но сначала, просто зададим таблицу явно.
$tree_table[^table::create{$id_name	$parent_id_name
0	0
1	4
2	0
3	2
4	3
5	1
6	5
7	6}]

$tree_table1[^table::create{$id_name # может здесь проблема?
$id}]
^tree[$id;$tree_table1;$id_name;$parent_id_name]

$result[$tree_table1] # если тут вывести таблицу $tree_table1 то всё нормально


@tree[id;tree_table1;id_name;parent_id_name][tree_table1] # создаёт таблицу с номерамиродителей.
^if($id ne 0){
	^if(^tree_table.locate[$id_name;$id]){
		$id[$tree_table.$parent_id_name]
		^tree_table1.append{$id}
		^tree[$id;$tree_table1;$id_name;$parent_id_name]
	}{$id[0]}
}{}
@tree_db[] загружает таблицу и передаёт параметры @tree[]
@tree[] Делает просто путь (как в дереве каталого) в таблицу $tree_table1 записывает путь (по номерам)
$parent_id_name - название столбца с номерами родителей.
$id_name - название столбца с номерами.


PS: Хотел сделать, чтоб из таблицы с указанием названия столбцов номера и родителей, вывелся бы весь путь в таблицу. Естественно указывается номер начального элемента таблицы (id)