我的所有数据都在我的数据库中。它有以下4列
id source_clust target_clust result_clust
1 7 72 649
2 9 572 650
3 649 454 651
4 32 650 435
此数据类似于树结构。 source_clust和target_clust生成target_clust。 target_clust可以是source_clust或target_clust来创建新的target_clust。在那儿 我可以用来为我的数据生成树结构的任何php函数或类????
我看到这个MySql网站他们正在做的正是我需要但我找不到如何 在我的数据中实现该查询。
谢谢!
被修改
java中有没有办法做到这一点?如果我们在数组中有相同的数据??
答案 0 :(得分:2)
您可以从phpclasses.org下载PHP树(甚至是您的案例中的binary tree
)类,然后您可以使用填充树的脚本和数据库中的数据。由于你有更多的根,你将拥有树的更多独立部分。在你写的案例中,你将有两个根:651和435.
[...]
$tree = new Tree();
$strsql = "SELECT source_clust, target_clust, result_clust FROM mytable";
$ressql = @mysql_query($strsql);
while(list($v1, $v2, $v3)=@mysql_fetch_array($ressql))
{
if (!$tree->hasNode($v1))
$tree->newNode($v1);
if (!$tree->hasNode($v2))
$tree->newNode($v2);
if (!$tree->hasNode($v3))
$tree->newNode($v3);
$tree->Node($v1)->parent = $tree->Node($v3);
$tree->Node($v2)->parent = $tree->Node($v3);
}
@mysql_free_result($ressql);
答案 1 :(得分:0)
这是我用来构建二叉树数据结构及其相应操作的完整代码: