while(ocifetchinto($stmt,$row,OCI_ASSOC))
{
    
    //    父图号
    $upcode=$row["UPCODE"];
    $upname=$row["UPNAME"];
    //    本图代码
    $dcode=$row["DCODE"];
    //    本图名称
    $dname=$row["DNAME"];
}
在这里将数据组织成数组然后在
d.add('<?php echo $row["UPCODE"];?>',0,'<?php echo "[".$row["UPCODE"]."]".$row["UPNAME"];?>','example01.php');
        document.write(d);
这里要用循环控制输出

解决方案 »

  1.   

    初始化的节点可以第一次循环输出比如一级节点.
    二级节点可以等用户点击展开的时候再ajax获取.
    xtree支持ajax方式获取数据的,你只要定义一个回调函数,具体请参考它的例子.
      

  2.   

    很不喜欢裸写。。
    不过  你把  while 写到  脚本里面去就可以了
    代码如下:
    <?phpinclude_once 'include/pdmdblogon.php';
    $mysql = "SELECT UPCODE,PRODUCTDWGCODE,UPNAME,DCODE,DNAME FROM XTDETAMSALL_DETAIL_2";
    $mysql .= " WHERE UPCODE = PRODUCTDWGCODE ORDER BY UPCODE,DITEM";
    $stmt = ociparse($conn,$mysql); 
    if(!$stmt)
    {
        echo "ERROR - Could not parse SQL statement.";
        exit;
    }  
    $result = ociexecute($stmt);
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html><head>
        <title>Destroydrop &raquo; Javascripts &raquo; Tree</title>    <link rel="StyleSheet" href="dtree.css" type="text/css" />
        <script type="text/javascript" src="dtree.js"></script></head><body><h1><a href="/">Destroydrop</a> &raquo; <a href="/javascripts/">Javascripts</a> &raquo; <a href="/javascripts/tree/">Tree</a></h1><h2>Example</h2><div class="dtree">    <p><a href="javascript: d.openAll();">open all</a> | <a href="javascript: d.closeAll();">close all</a></p>    <script type="text/javascript">
            
            <!--
        d = new dTree('d');    d.add(0,-1,'My example tree');
    <?php
    while(ocifetchinto($stmt,$row,OCI_ASSOC))
    {
    ?> d.add('<?php echo $row["UPCODE"];?>',0,'<?php echo "[".$row["UPCODE"]."]".$row["UPNAME"];?>','example01.php');<?php
    }
    ?>
        
            document.write(d);    //-->
        </script></div><p><a href="mailto&#58;drop&#64;destroydrop&#46;com">&copy;2002-2003 Geir Landr&ouml;</a></p></body></html>
      

  3.   

    但是我现在出现了这个问题:
    由于
    $mysql = "SELECT UPCODE,PRODUCTDWGCODE,UPNAME,DCODE,DNAME FROM XTDETAMSALL_DETAIL_2"; 
    $mysql .= " WHERE UPCODE = PRODUCTDWGCODE ORDER BY UPCODE,DITEM"; 里面生成一组相同的UPCODE 因为 一个UPCODE下面会有多个DCODE
    所以现在出现多条相同的UPCODE和UPNAME
      

  4.   

    d.add(' <?php echo $row["UPCODE"];?>',0,' <?php echo "[".$row["UPCODE"]."]".$row["UPNAME"];?>','example01.php'); 
    这个 js 的.  第二个参数是要定义父级节点,才能有子级。
    把树型代码改成:
        <script type="text/javascript"> 
            
            <!-- 
        d = new dTree('d');     d.add(0,-1,'My example tree'); 
    <?php 
    while(ocifetchinto($stmt,$row,OCI_ASSOC)) 

    ?> d.add('<?php echo $row["DCODE"];?>',' <?php echo $row["UPCODE"];?>',' <?php echo "[".$row["DCODE"]."]".$row["UPNAME"];?>','example01.php'); <?php 

    ?> 
        
            document.write(d);     //--> 
        </script> 
      

  5.   

    但是我现在显示的情况是这样,有多少个DCODE就会显示多少条UPCODE,导致了如下情况出现,这个情况该如何去解决呢?
    My example tree
    [KT]KT图纸
    [KT]KT图纸
    [KT]KT图纸
    [KT]KT图纸
    [KT]KT图纸
    [KT]KT图纸
    [KT]KT图纸
    [KT224-00-91]
    [KT262-01-91]
    [KT262-11-91]
    [KT262-26-91]
    [KT262-27-91]
    [KT207-200-91]
    [KT217-02-91]
    [KT217-12-91]
    [KT217-14-91]
    [KT222-01-91]
    [KT222-02-91]
    [KT222-03-91]
    [KT222-04-91]
    [KT222-05-91]
    [KT222-06-91]
    [KT222-07-91]
    [KT222-08-91]
    [KT222-09-91]
    [KT222-10-91]
    [KT222-11-91]
    [KT222-12-91]
    [KT222-13-91]
    [KT222-14-91]
    [KT222-15-91]
    [KT222-16-91]
    [KT227-02-91]
    [KT227-06-91]
    [KT227-07-91]
    [KT227-17-91]
    [KT227-20-91]
    [KT227-23-91]
    [KT227-24-91]
    [KT227-26-91]
    [KT227-28-91]
    [KT227-33-91]
    [KT227-31-91]
    [KT262-21-91]
    [KT262-01-1991]
    [KT262-11-1991]
    [KT262-26-1991]
    [KT262-27-1991]
    [KT154-200-1991]
    [KT194-00-91]
    [KT276-00-91]
    [KT277-00-91]
    [KT277-07-91]
    [KT94-00-91]
    [KT263-300-1992]
    [KT263-400-92]
    [KT263-500-92]
    [KT262-03-91]
    [KT262-05-91]
    [KT262-09-91]
    [KT262-10-91]
    [KT262-19-91]
    [Q/TS]企业标准件
    [Q/TS]企业标准件
    [Q/TS/KT100-00-91-2008]
    [Q/TS/KT262-01-91-2008]
    [TSK219E]TSK219E行李车(25G型,非高寒,DC600V供电)
      

  6.   

    <?phpinclude_once 'include/pdmdblogon.php';
    $mysql = "SELECT UPCODE,PRODUCTDWGCODE,UPNAME,DCODE FROM XTDETAMSALL_DETAIL_2";
    $mysql .= " WHERE UPCODE = PRODUCTDWGCODE ORDER BY UPCODE,DITEM ";
    $stmt = ociparse($conn,$mysql); 
    if(!$stmt)
    {
    echo "ERROR - Could not parse SQL statement.";
    exit;
    }  
    $result = ociexecute($stmt);?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html><head>
    <title>Destroydrop &raquo; Javascripts &raquo; Tree</title> <link rel="StyleSheet" href="dtree.css" type="text/css" />
    <script type="text/javascript" src="dtree.js"></script></head><body><h1><a href="/">Destroydrop</a> &raquo; <a href="/javascripts/">Javascripts</a> &raquo; <a href="/javascripts/tree/">Tree</a></h1><h2>Example</h2><div class="dtree"> <p><a href="javascript: d.openAll();">open all</a> | <a href="javascript: d.closeAll();">close all</a></p> <script type="text/javascript">

            <!--
    d = new dTree('d'); d.add(0,-1,'My example tree');
    <?php 
     while(ocifetchinto($stmt,$row,OCI_ASSOC))
     {
     ?>
    d.add('<?php echo $row["UPCODE"];?>',0,'<?php echo "[".$row["UPCODE"]."]".$row["UPNAME"];?>','example01.php');
    d.add('<?php echo $row["DCODE"];?>','<?php echo $row["UPCODE"];?>','<?php echo "[".$row["DCODE"]."]".$row["DNAME"];?>','example01.php');
    <?php
    }
    ?>

    document.write(d); //-->
    </script></div><p><a href="mailto&#58;drop&#64;destroydrop&#46;com">&copy;2002-2003 Geir Landr&ouml;</a></p></body></html>程序代码如上所示
      

  7.   

    <?phpinclude_once 'include/pdmdblogon.php';
    //寻找根节点下面的第一级孩子节点
    $mysql = "SELECT UPCODE,PRODUCTDWGCODE,UPNAME FROM XTDETAMSALL_DETAIL_2";
    //$mysql = "SELECT   UPCODE,UPNAME FROM XTDETAMSALL_DETAIL_2";
    $mysql .= " WHERE UPCODE = PRODUCTDWGCODE GROUP BY UPCODE,PRODUCTDWGCODE,UPNAME ";
    $stmt = ociparse($conn,$mysql); 
    if(!$stmt)
    {
    echo "ERROR - Could not parse SQL statement.";
    exit;
    }  
    $result = ociexecute($stmt);?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html><head>
    <title>Destroydrop &raquo; Javascripts &raquo; Tree</title> <link rel="StyleSheet" href="dtree.css" type="text/css" />
    <script type="text/javascript" src="dtree.js"></script></head><body><h1><a href="/">Destroydrop</a> &raquo; <a href="/javascripts/">Javascripts</a> &raquo; <a href="/javascripts/tree/">Tree</a></h1><h2>Example</h2><div class="dtree"> <p><a href="javascript: d.openAll();">open all</a> | <a href="javascript: d.closeAll();">close all</a></p> <script type="text/javascript">

            <!--
    d = new dTree('d'); d.add(0,-1,'My example tree');
    <?php 
     while(ocifetchinto($stmt,$row,OCI_ASSOC))
     {
        $upcode=$row["UPCODE"];
        $upname=$row["UPNAME"];
        $productdwgcode = $row["PRODUCTDWGCODE"];

     ?>
     
    d.add('<?php echo $upcode;?>',0,'<?php echo "[".$row["UPCODE"]."]".$row["UPNAME"];?>','example01.php');

    <?php
                    //想利用这条语句来查询子节点下面的孩子节点信息
    $sql = "SELECT  UPCODE,UPNAME,DITEM,DCODE,DNAME,PRODUCTDWGCODE  FROM XTDETAMSALL_DETAIL_2";
    $sql .= " WHERE UPCODE = '$dcode' AND PRODUCTDWGCODE = '$productdwgcode'";
    $sql .= " ORDER BY DITEM";
    $st = ociparse($conn,$sql); 
    if(!$stmt)
    {
    echo "ERROR - Could not parse SQL statement.";
    exit;
    }  
    $result = ociexecute($st);
    while(ocifetchinto($st,$row01,OCI_ASSOC))
    {

    ?>

    d.add('<?php echo $row01["DCODE"];?>','<?php echo $row01["UPCODE"];?>','<?php echo "[".$row01["DCODE"]."]".$row01["DNAME"];?>','example01.php');

    <?php
    }
    }
    ?>
    document.write(d); //-->
    </script></div><p><a href="mailto&#58;drop&#64;destroydrop&#46;com">&copy;2002-2003 Geir Landr&ouml;</a></p></body></html>
    本想这样去做应该是可以实现这样的功能的,但是只能显示第一级节点,当点击该节点时,却不能打开这些节点的字节点了
    请问这个是怎么回事?
    难道我如此的嵌套是错的?
    如果想看看变量的值 我该如何去alert?
      

  8.   

    http://www.zzxj.net/member/memb_tree.php看看我那个tree是如何用ajax实现的,看一下js的部分
      

  9.   

    http://www.zzxj.net/member/memb_tree.php
      

  10.   

    请大家帮我看看第8层上面的这段程序,以下是对程序中的两个SQl语句进行的解释
    我第一个SQL语句主要是想实现得到第一级节点信息,因为 这个节点不是0,1之类的信息,而是有具体的信息,所以需要单独找出父图号和图号信息,在以下各级中就根据这个图号逐层寻找他的孩子节点信息了!本SQl中有一个UPCODE=PRODUCTDWGCODE这个字段就是用来确定第一级节点的,当“父图号=所属产品”时候,这个UPCODE就是第一级节点。 
    而在第二个SQl中,你会看到有一个where条件,在这个条件里面有一个PRODUCTDWGCODE=$productdwgcode这个表达式,主要是因为同一个图号有可能出现在不同的产品信息中,而唯一能确定它存在于哪个产品中,PRODUCTDWGCODE这个字段能够确定。(PRODUCTDWGCODE所属产品,UPCODE父图号,DCODE图号,DITEM序号,一个孩子节点在该父节点中的一个排序)所以在第二个SQL中想实现在第一个SQl中知道的DCODE和PRODUCTDWGCODE这两个条件下的所有孩子节点信息 
    但是现在我贴出的程序中却不能实现第二个SQl语句的目的,请多多指教!该如何去实现呢? 
      

  11.   


    echo "<script>alert(".$temp.");</script>";的方式弹出值看看问题出在哪里吧。
    估计是javascript的错误。
      

  12.   

    [code=JScript]// Node objectfunction Node(id, pid, name, url, title, target, icon, iconOpen, open) { this.id = id; this.pid = pid; this.name = name; this.url = url; this.title = title; this.target = target; this.icon = icon; this.iconOpen = iconOpen; this._io = open || false; this._is = false; this._ls = false; this._hc = false; this._ai = 0; this._p;};// Tree objectfunction dTree(objName) { this.config = { target : null, folderLinks : true, useSelection : true, useCookies : true, useLines : true, useIcons : true, useStatusText : false, closeSameLevel : false, inOrder : false } this.icon = { root : 'img/base.gif', folder : 'img/folder.gif', folderOpen : 'img/folderopen.gif', node : 'img/page.gif', empty : 'img/empty.gif', line : 'img/line.gif', join : 'img/join.gif', joinBottom : 'img/joinbottom.gif', plus : 'img/plus.gif', plusBottom : 'img/plusbottom.gif', minus : 'img/minus.gif', minusBottom : 'img/minusbottom.gif', nlPlus : 'img/nolines_plus.gif', nlMinus : 'img/nolines_minus.gif' }; this.obj = objName; this.aNodes = []; this.aIndent = []; this.root = new Node(-1); this.selectedNode = null; this.selectedFound = false; this.completed = false;};// Adds a new node to the node array为节点数足增加一个新的节点dTree.prototype.add = function(id, pid, name, url, title, target, icon, iconOpen, open) { this.aNodes[this.aNodes.length] = new Node(id, pid, name, url, title, target, icon, iconOpen, open);};// Open/close all nodes打开或关闭所有节点dTree.prototype.openAll = function() { this.oAll(true);};dTree.prototype.closeAll = function() { this.oAll(false);};// Outputs the tree to the page在这个页面中输出这个treedTree.prototype.toString = function() { var str = '<div class="dtree">\n'; if (document.getElementById) { if (this.config.useCookies) this.selectedNode = this.getSelected(); str += this.addNode(this.root); } else str += 'Browser not supported.'; str += '</div>'; if (!this.selectedFound) this.selectedNode = null; this.completed = true; return str;};// Creates the tree structure创建一个树结构dTree.prototype.addNode = function(pNode) { var str = ''; var n=0; if (this.config.inOrder) n = pNode._ai; for (n; n<this.aNodes.length; n++) { if (this.aNodes[n].pid == pNode.id) { var cn = this.aNodes[n]; cn._p = pNode; cn._ai = n; this.setCS(cn); if (!cn.target && this.config.target) cn.target = this.config.target; if (cn._hc && !cn._io && this.config.useCookies) cn._io = this.isOpen(cn.id); if (!this.config.folderLinks && cn._hc) cn.url = null; if (this.config.useSelection && cn.id == this.selectedNode && !this.selectedFound) { cn._is = true; this.selectedNode = n; this.selectedFound = true; } str += this.node(cn, n); if (cn._ls) break; } } return str;};// Creates the node icon, url and text创建节点图标,url和textdTree.prototype.node = function(node, nodeId) { var str = '<div class="dTreeNode">' + this.indent(node, nodeId); if (this.config.useIcons) { if (!node.icon) node.icon = (this.root.id == node.pid) ? this.icon.root : ((node._hc) ? this.icon.folder : this.icon.node); if (!node.iconOpen) node.iconOpen = (node._hc) ? this.icon.folderOpen : this.icon.node; if (this.root.id == node.pid) { node.icon = this.icon.root; node.iconOpen = this.icon.root; } str += '<img id="i' + this.obj + nodeId + '" src="' + ((node._io) ? node.iconOpen : node.icon) + '" alt="" />'; } if (node.url) { str += '<a id="s' + this.obj + nodeId + '" class="' + ((this.config.useSelection) ? ((node._is ? 'nodeSel' : 'node')) : 'node') + '" href="' + node.url + '"'; if (node.title) str += ' title="' + node.title + '"'; if (node.target) str += ' target="' + node.target + '"'; if (this.config.useStatusText) str += ' onmouseover="window.status=\'' + node.name + '\';return true;" onmouseout="window.status=\'\';return true;" '; if (this.config.useSelection && ((node._hc && this.config.folderLinks) || !node._hc)) str += ' onclick="javascript: ' + this.obj + '.s(' + nodeId + ');"'; str += '>'; } else if ((!this.config.folderLinks || !node.url) && node._hc && node.pid != this.root.id) str += '<a href="javascript: ' + this.obj + '.o(' + nodeId + ');" class="node">'; str += node.name; if (node.url || ((!this.config.folderLinks || !node.url) && node._hc)) str += '</a>'; str += '</div>'; if (node._hc) { str += '<div id="d' + this.obj + nodeId + '" class="clip" style="display:' + ((this.root.id == node.pid || node._io) ? 'block' : 'none') + ';">'; str += this.addNode(node); str += '</div>'; } this.aIndent.pop(); return str;};code]
      

  13.   

    // Adds the empty and line icons添加空图标和线图表dTree.prototype.indent = function(node, nodeId) { var str = ''; if (this.root.id != node.pid) { for (var n=0; n<this.aIndent.length; n++) str += '<img src="' + ( (this.aIndent[n] == 1 && this.config.useLines) ? this.icon.line : this.icon.empty ) + '" alt="" />'; (node._ls) ? this.aIndent.push(0) : this.aIndent.push(1); if (node._hc) { str += '<a href="javascript: ' + this.obj + '.o(' + nodeId + ');"><img id="j' + this.obj + nodeId + '" src="'; if (!this.config.useLines) str += (node._io) ? this.icon.nlMinus : this.icon.nlPlus; else str += ( (node._io) ? ((node._ls && this.config.useLines) ? this.icon.minusBottom : this.icon.minus) : ((node._ls && this.config.useLines) ? this.icon.plusBottom : this.icon.plus ) ); str += '" alt="" /></a>'; } else str += '<img src="' + ( (this.config.useLines) ? ((node._ls) ? this.icon.joinBottom : this.icon.join ) : this.icon.empty) + '" alt="" />'; } return str;};// Checks if a node has any children and if it is the last sibling检测节点时候含有孩子节点或是否为最后的兄弟节点dTree.prototype.setCS = function(node) { var lastId; for (var n=0; n<this.aNodes.length; n++) { if (this.aNodes[n].pid == node.id) node._hc = true; if (this.aNodes[n].pid == node.pid) lastId = this.aNodes[n].id; } if (lastId==node.id) node._ls = true;};// Returns the selected node返回选择的节点dTree.prototype.getSelected = function() { var sn = this.getCookie('cs' + this.obj); return (sn) ? sn : null;};// Highlights the selected node高亮选择节点dTree.prototype.s = function(id) { if (!this.config.useSelection) return; var cn = this.aNodes[id]; if (cn._hc && !this.config.folderLinks) return; if (this.selectedNode != id) { if (this.selectedNode || this.selectedNode==0) { eOld = document.getElementById("s" + this.obj + this.selectedNode); eOld.className = "node"; } eNew = document.getElementById("s" + this.obj + id); eNew.className = "nodeSel"; this.selectedNode = id; if (this.config.useCookies) this.setCookie('cs' + this.obj, cn.id); }};// Toggle Open or close反复打开或是关闭dTree.prototype.o = function(id) { var cn = this.aNodes[id]; this.nodeStatus(!cn._io, id, cn._ls); cn._io = !cn._io; if (this.config.closeSameLevel) this.closeLevel(cn); if (this.config.useCookies) this.updateCookie();};// Open or close all nodes打开或是关闭所有节点dTree.prototype.oAll = function(status) { for (var n=0; n<this.aNodes.length; n++) { if (this.aNodes[n]._hc && this.aNodes[n].pid != this.root.id) { this.nodeStatus(status, n, this.aNodes[n]._ls) this.aNodes[n]._io = status; } } if (this.config.useCookies) this.updateCookie();};// Opens the tree to a specific node打开树到一个特定的节点dTree.prototype.openTo = function(nId, bSelect, bFirst) { if (!bFirst) { for (var n=0; n<this.aNodes.length; n++) { if (this.aNodes[n].id == nId) { nId=n; break; } } } var cn=this.aNodes[nId]; if (cn.pid==this.root.id || !cn._p) return; cn._io = true; cn._is = bSelect; if (this.completed && cn._hc) this.nodeStatus(true, cn._ai, cn._ls); if (this.completed && bSelect) this.s(cn._ai); else if (bSelect) this._sn=cn._ai; this.openTo(cn._p._ai, false, true);};// Closes all nodes on the same level as certain nodedTree.prototype.closeLevel = function(node) { for (var n=0; n<this.aNodes.length; n++) { if (this.aNodes[n].pid == node.pid && this.aNodes[n].id != node.id && this.aNodes[n]._hc) { this.nodeStatus(false, n, this.aNodes[n]._ls); this.aNodes[n]._io = false; this.closeAllChildren(this.aNodes[n]); } }}// Closes all children of a nodedTree.prototype.closeAllChildren = function(node) { for (var n=0; n<this.aNodes.length; n++) { if (this.aNodes[n].pid == node.id && this.aNodes[n]._hc) { if (this.aNodes[n]._io) this.nodeStatus(false, n, this.aNodes[n]._ls); this.aNodes[n]._io = false; this.closeAllChildren(this.aNodes[n]); } }}// Change the status of a node(open or closed)dTree.prototype.nodeStatus = function(status, id, bottom) { eDiv = document.getElementById('d' + this.obj + id); eJoin = document.getElementById('j' + this.obj + id); if (this.config.useIcons) { eIcon = document.getElementById('i' + this.obj + id); eIcon.src = (status) ? this.aNodes[id].iconOpen : this.aNodes[id].icon; } eJoin.src = (this.config.useLines)? ((status)?((bottom)?this.icon.minusBottom:this.icon.minus):((bottom)?this.icon.plusBottom:this.icon.plus)): ((status)?this.icon.nlMinus:this.icon.nlPlus); eDiv.style.display = (status) ? 'block': 'none';};// [Cookie] Clears a cookiedTree.prototype.clearCookie = function() { var now = new Date(); var yesterday = new Date(now.getTime() - 1000 * 60 * 60 * 24); this.setCookie('co'+this.obj, 'cookieValue', yesterday); this.setCookie('cs'+this.obj, 'cookieValue', yesterday);};// [Cookie] Sets value in a cookiedTree.prototype.setCookie = function(cookieName, cookieValue, expires, path, domain, secure) { document.cookie = escape(cookieName) + '=' + escape(cookieValue) + (expires ? '; expires=' + expires.toGMTString() : '') + (path ? '; path=' + path : '') + (domain ? '; domain=' + domain : '') + (secure ? '; secure' : '');};// [Cookie] Gets a value from a cookiedTree.prototype.getCookie = function(cookieName) { var cookieValue = ''; var posName = document.cookie.indexOf(escape(cookieName) + '='); if (posName != -1) { var posValue = posName + (escape(cookieName) + '=').length; var endPos = document.cookie.indexOf(';', posValue); if (endPos != -1) cookieValue = unescape(document.cookie.substring(posValue, endPos)); else cookieValue = unescape(document.cookie.substring(posValue)); } return (cookieValue);};// [Cookie] Returns ids of open nodes as a stringdTree.prototype.updateCookie = function() { var str = ''; for (var n=0; n<this.aNodes.length; n++) { if (this.aNodes[n]._io && this.aNodes[n].pid != this.root.id) { if (str) str += '.'; str += this.aNodes[n].id; } } this.setCookie('co' + this.obj, str);};// [Cookie] Checks if a node id is in a cookiedTree.prototype.isOpen = function(id) { var aOpen = this.getCookie('co' + this.obj).split('.'); for (var n=0; n<aOpen.length; n++) if (aOpen[n] == id) return true; return false;};// If Push and pop is not implemented by the browserif (!Array.prototype.push) { Array.prototype.push = function array_push() { for(var i=0;i<arguments.length;i++) this[this.length]=arguments[i]; return this.length; }};if (!Array.prototype.pop) { Array.prototype.pop = function array_pop() { lastElement = this[this.length-1]; this.length = Math.max(this.length-1,0); return lastElement; }};[/
      

  14.   

    很明显的错误呗~
    $temp ='dada';
    echo " <script>alert('".$temp."'); </script>"
      

  15.   

    对上面第8层的代码中的这部分代码作如下更换:
    我把这部分代码
     //想利用这条语句来查询子节点下面的孩子节点信息
            $sql = "SELECT  UPCODE,UPNAME,DITEM,DCODE,DNAME,PRODUCTDWGCODE  FROM XTDETAMSALL_DETAIL_2";
            $sql .= " WHERE UPCODE = '$dcode' AND PRODUCTDWGCODE = '$productdwgcode'";
            $sql .= " ORDER BY DITEM";
    转换为如下代码$sql = "SELECT  UPCODE,UPNAME,DITEM,DCODE,DNAME,PRODUCTDWGCODE  FROM XTDETAMSALL_DETAIL_2";
    $sql .=" where UPCODE in (select DCODE from XTDETAMSALL_DETAIL_2 where UPCODE=PRODUCTDWGCODE) AND PRODUCTDWGCODE = '$productdwgcode' ";
    $sql .= " ORDER BY DITEM";但是还是不行 请高手们指教一下
    原因是为何?