每看明白,难道楼主希望比较typecode判断父子关系?
这样太慢了,加个parent_id吧

解决方案 »

  1.   

    楼上的..用type_code判断父子关系太慢吗?那个表不是我添加数据的呀.....那要是加个parent_id要怎么写呀...写好了给分呀..
      

  2.   

    select * from types type_code like '$code%'
      

  3.   

    呵呵, 和我想到一块去了, 我自己写的代码就是这样的。这个是PHP的, 也有ASP的
    数据库不记得放哪里去了, 
    自动编号 `tree_id`, 
    父编号`Tree_Parent_ID`, 
    等级,就是你这里的010101,`tree_level`, 
    标题,`tree_title`, 
    链接地址,`Tree_Url`, 
    点击后跳转目标,`tree_target`, 
    是否有下级,`tree_haschild` php文件
    <?php
    $mainmenu = "";
    $Tablecellspacing = 1;
    $Tablecellpadding = 2;
    $tree_level_len = 0;
    //---------------------0----------1-----------------2-------------3-------------4-----------5--------------6
    $SqlStr = "Select `tree_id`, `Tree_Parent_ID`, `tree_level`, `tree_title`, `Tree_Url`, `tree_target`, `tree_haschild` From `". $table_tree ."` Order By `tree_level`";

    $temp_query = query($SqlStr);
    while($DB_Record = nqfetch($temp_query))
    {
    //A
    if($tree_level_len == 0)
    {
    $mainmenu.= "<table border=\"0\" width=\"100%\" cellspacing=\"".$Tablecellspacing."\" cellpadding=\"".$Tablecellpadding."\">\n";
    }

    //B
    if($tree_level_len == strlen($DB_Record[2]))
    {
    $mainmenu.= "</td>\n</tr>\n";
    }

    //C
    if(($tree_level_len < strlen($DB_Record[2])) && $tree_level_len <> 0)
    {
    $mainmenu.= "<table border=\"0\" width=\"100%\" cellspacing=\"".$Tablecellspacing."\" cellpadding=\"".$Tablecellpadding."\" style=\"display:none\" id=\"Node_".$DB_Record[1]."\">\n";
    }

    //D
    if($tree_level_len > strlen($DB_Record[2]))

    $j = ($tree_level_len-strlen($DB_Record[2])) / 2;
    for($i=0;$i<$j;$i++)
      {
       $mainmenu.= "</td>\n</tr>\n</table>\n";
      }
      $mainmenu.= "</td>\n</tr>\n";
    } $mainmenu.= "<tr>\n<td>\n";
    $mainmenu.= "<img src=\"images/blank.gif\" height=\"1\" width=\"".(((strlen($DB_Record[2]))-2) / 2 * 10)."\">\n";
    if($DB_Record[6]==1)
    {
    $mainmenu.= "<span class=\"Menu\" onmouseover=\"hl_menu(this,0)\" onmouseout=\"hl_menu(this,1)\" onclick=\"ExtendNode('Node_".$DB_Record[0]."');\"><img  id=\"Img_Node_" .$DB_Record[0]."\" src=\"/images/shrink.gif\">&nbsp;" .$DB_Record[3]. "</span>\n";
    }
    else
    {
    $mainmenu.= "<span class=\"Menu\" onmouseover=\"hl_menu(this,0)\" onmouseout=\"hl_menu(this,1)\" onclick=\"ffClick('" .$DB_Record[4]. "','" .$DB_Record[3]. "');\"><img src=\"/images/leaf.gif\">&nbsp;" .$DB_Record[3]. "</span>\n";
    } $tree_level_len = strlen($DB_Record[2]);
    }
    $mainmenu.= "</td>\n</tr>\n</table>\n";
    $mainmenu.= "</td>\n</tr>\n</table>\n";echo $mainmenu;
    ?>
    js文件
    //编写日期 : 20040908
    //编写人 : 
    //修改人 : Zerolone
    //功能 : 鼠标移入之后显示边框, 类似XP按钮效果
    //参数 : obj 对象 state 状态 0为移入 1为移出
    function hl_menu(obj,state)
    {
    switch (state)
    {
    case 0:
    obj.className="menuover"
    break;
    case 1:
    obj.className="menu"
    break;
    }

    //编写日期 : 20040908
    //编写人 : 
    //修改人 : Zerolone
    //功能 : 按钮点击事件, 扩展和收缩菜单
    //参数 : 表格ID
    function ExtendNode(TableName)
    {
    var TheImg;
    TheImg = eval("Img_" + TableName);
    TableName = eval(TableName); if(TableName.style.display == "none")
    {
    TableName.style.display = "";
    TheImg.src = "/images/unwrap.gif";
    }
    else
    {
    TableName.style.display = "none";
    TheImg.src = "/images/shrink.gif";
    }
    }数据库: