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);
这里要用循环控制输出
{
// 父图号
$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);
这里要用循环控制输出
二级节点可以等用户点击展开的时候再ajax获取.
xtree支持ajax方式获取数据的,你只要定义一个回调函数,具体请参考它的例子.
不过 你把 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 » Javascripts » 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> » <a href="/javascripts/">Javascripts</a> » <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:drop@destroydrop.com">©2002-2003 Geir Landrö</a></p></body></html>
由于
$mysql = "SELECT UPCODE,PRODUCTDWGCODE,UPNAME,DCODE,DNAME FROM XTDETAMSALL_DETAIL_2";
$mysql .= " WHERE UPCODE = PRODUCTDWGCODE ORDER BY UPCODE,DITEM"; 里面生成一组相同的UPCODE 因为 一个UPCODE下面会有多个DCODE
所以现在出现多条相同的UPCODE和UPNAME
这个 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>
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供电)
$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 » Javascripts » 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> » <a href="/javascripts/">Javascripts</a> » <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:drop@destroydrop.com">©2002-2003 Geir Landrö</a></p></body></html>程序代码如上所示
//寻找根节点下面的第一级孩子节点
$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 » Javascripts » 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> » <a href="/javascripts/">Javascripts</a> » <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:drop@destroydrop.com">©2002-2003 Geir Landrö</a></p></body></html>
本想这样去做应该是可以实现这样的功能的,但是只能显示第一级节点,当点击该节点时,却不能打开这些节点的字节点了
请问这个是怎么回事?
难道我如此的嵌套是错的?
如果想看看变量的值 我该如何去alert?
我第一个SQL语句主要是想实现得到第一级节点信息,因为 这个节点不是0,1之类的信息,而是有具体的信息,所以需要单独找出父图号和图号信息,在以下各级中就根据这个图号逐层寻找他的孩子节点信息了!本SQl中有一个UPCODE=PRODUCTDWGCODE这个字段就是用来确定第一级节点的,当“父图号=所属产品”时候,这个UPCODE就是第一级节点。
而在第二个SQl中,你会看到有一个where条件,在这个条件里面有一个PRODUCTDWGCODE=$productdwgcode这个表达式,主要是因为同一个图号有可能出现在不同的产品信息中,而唯一能确定它存在于哪个产品中,PRODUCTDWGCODE这个字段能够确定。(PRODUCTDWGCODE所属产品,UPCODE父图号,DCODE图号,DITEM序号,一个孩子节点在该父节点中的一个排序)所以在第二个SQL中想实现在第一个SQl中知道的DCODE和PRODUCTDWGCODE这两个条件下的所有孩子节点信息
但是现在我贴出的程序中却不能实现第二个SQl语句的目的,请多多指教!该如何去实现呢?
echo "<script>alert(".$temp.");</script>";的方式弹出值看看问题出在哪里吧。
估计是javascript的错误。
$temp ='dada';
echo " <script>alert('".$temp."'); </script>"
我把这部分代码
//想利用这条语句来查询子节点下面的孩子节点信息
$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";但是还是不行 请高手们指教一下
原因是为何?