有一个地方下,是www.ouzx.com.有一个类。我 是结合ORACLE做了个PHP的,需要的话,我贴出来。

解决方案 »

  1.   

    有三个文件:dbinc.php,demo.php,server.php.是仿照WWW.OUZX.COM上的ASP写的。库结构是:
    节点ID
    节点说明
    节点上级ID
    节点链接地址
    dbinc.php
    <?
    // $conn is of type "adodb.connection"
    $link_id=OCILogon("infonet","infonet","(DESCRIPTION=(ADDRESS=(PROTOCOL =TCP)
    (HOST=192.168.1.210)(PORT = 1521))(CONNECT_DATA =(SID=ora8)))");
    function Conn_end()
    {
     ocilogoff($link_id);
    }
    function HasChildNod($CurNod)
    {
        $link_id2=OCILogon("infonet","infonet","(DESCRIPTION=(ADDRESS=(PROTOCOL =TCP)
    (HOST=192.168.1.210)(PORT = 1521))(CONNECT_DATA =(SID=ora8)))");
    //判断当前节点有无子节点
       $SQL="SELECT * FROM ttreenode WHERE treenodep='".$CurNod."'";
    $prase=OCIParse($link_id2,$SQL);
        if (!$prase)
        {
         echo "error";
            exit;
        }
        else
        {
         //echo "true";
        }
        OCIExecute($prase);
        OCIFetchInto($prase, $rows);
       if (empty($rows))
       {    $function_ret=false;
       }
        else
       {    $function_ret=true;
        ocilogoff($link_id2);
      }    return $function_ret;
    }
    ?>
      

  2.   

    demo.php
    <?php
       require("dbinc.php");
    ?>
    <?
    $sql="select * from ttreenode where treenodep='0'  order by treenodeid desc";
    $prase=OCIParse($link_id,$sql);
        if (!$prase)
        {
         echo "error";
            exit;
        }
        else
        {
         //echo "true";
        }
        OCIExecute($prase);
    //    OCIFetchInto($prase, $rows); ?>
    <html>
    <head>
    <title>动态树型菜单</title>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <link rel='stylesheet' href='style.css' type='text/css'>
    <style></style>
    <body bgcolor="#FFFFFF" text="#000000">
     <iframe height=0 src="about:blank" width=0></iframe><script src="tree_maker.js"></script>
    <script>
    var tree = new Tree_treeView();
    tree.useImage=true;
    tree.useTitleAsHint=true;
    tree.useTitleAsStatus=true;
    tree.useHint=true;
    tree.useStatus=true;
    tree.showSelect=true;
    tree.showLine=true;
    tree.Indent=13;
    tree.folderImg1="C:/php/clsfld.gif";
    tree.lineFolder="C:/php/";
    tree.folderImg2="C:/php/openfld.gif";
    tree.fileImg="C:/php/2.bmp";
    var node = tree.add(0,Tree_ROOT,0,"退出");
    function load(nodeID) // nodeID为点击结点的id
    {    var node = tree.getNode(nodeID);    if( node && node.loaded!=true )
        {
            window.frames[0].location= "server.php?node=" + nodeID + "&menuid=" + node.menuid;
        }}
    <? while(OCIFetchInto($prase,$rows,OCI_NUM + OCI_RETURN_NULLS+
        OCI_RETURN_LOBS +OCI_ASSOC))
    {
        if (HasChildNod($rows[0]))
      {
    ?>
         var node = tree.add(0,Tree_ROOT,Tree_FIRST,"<?php echo $rows[1];?>");
        node.setScript("load(tree.getSelect().id)");
    node.addChild(0,"loading...");
    node.menuid = <?echo $rows[0]; ?>;
        //alert(<? echo $rows[0];?>);
    <?
      }
      else{
    ?>
           node = node.addSibling(Tree_FIRST,"<?php echo $rows[1];?>");
           node.menuid = <?echo $rows[0];?>;
    <?
      }
    }
    ?>
    </script>
    </head>
    <body>
    </body>
    </html>
      

  3.   

    server.php
    <?php
      require("dbinc.php");
    ?>
    <?
    $node=intval($node); // node id
    $menuid=intval($menuid); // menu id
    $sql="select * from ttreenode where treenodep='".$menuid."'";
    $prase=OCIParse($link_id,$sql);
    if (!$prase)
        {
         echo "error";
            exit;
        }
        else
        {
         //echo "true";
        }
        OCIExecute($prase);
    ?>
    <script>
    function openwindow(href){
    window.open(href,'new','left=0,width=400,top=0,resizable=yes,toolbar=no,scrollbars=yes');
    }
    function OpenDetailWindow(href){
    window.open(href,'new','left=0,width=700,top=0,resizable=yes,toolbar=no,scrollbars=yes');
    }
    function openhelp(href){
    window.open(href,'new','left=0,width=500,height=350,top=0,resizable=no,toolbar=no,scrollbars=yes');
    }
    function openMiniWin(href){
    window.open(href,'new','left=200,top=300,width=400,height=150,resizable=no,toolbar=no,scrollbars=no');
    }
    function sumField(t,target,num,formName){
    var temp=0,v;
    if(formName=='') formName='form1';
    if(num.value!=''){
    for(i=1;i<=num.value;i++){
    v=eval('document.'+formName+'.'+t+i+'.value');
    if(v=='') v=0;
    temp=temp/1+v/1;
    }
    }
    target.value=temp;
    }
    var ret =
    "<"+"script>"+"var parentNode = null;"+
    "if(parent.tree!='undefined') parentNode=parent.tree.getNode(" + <?echo $node;?> + ");"+
    "if(parentNode && parentNode.loaded!=true)"+
    "{"+
    "    parentNode.loaded=true;";
     //alert(ret);
    <? while(OCIFetchInto($prase,$rows,OCI_NUM + OCI_RETURN_NULLS+
        OCI_RETURN_LOBS +OCI_ASSOC))
    {
    ?>
    ret += "var node=parentNode.addChild(parent.Tree_LAST,'<?echo $rows[1];?>');";<?   if (HasChildNod($rows[0]))
       {
    ?>
            ret += "node.setScript('load(tree.getSelect().id)');";
    ret += "node.addChild(0,'loading...');";
    ret += "node.menuid = <?echo $rows[0]; ?>;";
    <?php
      }
      else
    {
    ?>
    ret += "node.setLink('treenodeD.php?nodeid=<?echo $rows[0]; ?>');";
    <?
    }
    ?>
    <?
    }
    ?>
    ret += "parentNode.delChild(0); }";
    ret += "<"+"/script>";
    document.write(ret);</script>
    <?
    Conn_end();
    ?>
      

  4.   

    虽然我ORACLE没用过,有些函数不知道......
    但是还是应该把题目结掉,如果有人有mysql的请提供给我啊,Email:[email protected]
    我送分啊..
      

  5.   

    [email protected]能发给我一份吗?