Yurik
/dev/null
Простой алгоритм отсеивания дочерних елементов
При редактировании дерева нельзя перемещать узлы в дочерние (любого уровня).
Вот простой алгоритм отсеивания дочерних елементов любого уровня вложения.
[sql]
CREATE TABLE tblnodes(
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
ref INT UNSIGNED NOT NULL ,
PRIMARY KEY (id),
INDEX (ref)
);
[/sql]
При редактировании дерева нельзя перемещать узлы в дочерние (любого уровня).
Вот простой алгоритм отсеивания дочерних елементов любого уровня вложения.
[sql]
CREATE TABLE tblnodes(
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
ref INT UNSIGNED NOT NULL ,
PRIMARY KEY (id),
INDEX (ref)
);
[/sql]
PHP:
$result=mysql_query("SELECT * FROM tblnodes WHERE id=".(int) @$_GET['id']);
$row=mysql_fetch_array($result) or die('NO ID Found');
$result=mysql_query("SELECT * FROM tblnodes WHERE id<>".$row['id']." ORDER BY ref");
echo "<select>";
$reference[]=$row['id'];
while ($r=mysql_fetch_array($result)) {
if (in_array($r['ref'], $reference))
$reference[]=$r['id'];
else
echo "<option value=".$r['id'].">".$r['id']."</option>";
}
echo "</select>";