Приветсвую вас Юрий.
Просматривал вашу библу mysql.tree.
Есть соображение по поводу маленькой оптимизации в mysql_tree_delete
в блоке обработки касадного-связанного удаления
у вас строится вот такой запрос.
<?php :
"delete
".$cascade[$j][0]."
from
".$cascade[$j][0].",
".$table." as t1,
".$table." as t2
where
t1.i_id='".mysql_real_escape_string($i_id)."' and
t2.i_left between t1.i_left and t1.i_right and
".$cascade[$j][0].".".$cascade[$j][1]."=t2.i_id"
?>
на мой взгляд вторичный дополнительный “join” для таблицы t1 избыточен
т.к. он нужен чтобы получить i_left и i_right удаляемого узла
а они у вас уже есть в переменной $r_tree
из селекта в самом начале функции
<?php $r_tree=mysql_query_single("select * from ".$table." where i_id=".$i_id);
?>
что скажите ?
PS
кол-во проделанной работы впечатляет, особенно математики,
сам люблю мозг по нагружать =)
Жаль только, что форма реализации кода уж совсем «дубово-простенькая».
Ни ООП, никакой абстракции.
Ну как говорится дарёному коню в зубы не смотрят.