csdn的树型结构php+mysql的实现方式(二)

来源:互联网 发布:股民信息采集软件 编辑:程序博客网 时间:2024/05/22 12:11
server.php文件,php的xmldom我不会用哈哈...
<?
header("Content-type:text/xml;charset=gb2312");//不写要乱码滴
  class DB_xx extends DB_sql{
这里用的是phplib
  }
session_start();
$NodeId;//注意这个变量哦,要和htc文件的某个地方对应,这个是当前节点的id
$level="";
session_register("level");
$xml="<?xml version='1.0' encoding='gb2312'?>/r/n";
$xml=$xml."<xml>/r/n";
if ($NodeId==""){$NodeId=0;}
if ($level=="")
{$level=0;}
$sql2="select * from qk_kind  where kind_parentid =".$NodeId." and kind_level>=".$level;//取得该节点下的字节点
$dbw = new DB_xx;
$dbw->query($sql2);
$i=0;
if($dbw->nf()>0){
  while($dbw->next_record())
  {
$sortArray[$i]=array(
$dbw->f("kind_id"),$dbw->f("kind_level"),$dbw->f("kind_name"),$dbw->f("kind_parentid"));
  $i++;
  }
  }
  
for($i=0;$i<count($sortArray);$i++){
 $xml=$xml."<TreeNode id='".$sortArray[$i][0]."'>/r/n";
 $xml=$xml."<NodeText>".$sortArray[$i][2]."</NodeText>/r/n";
 $xml=$xml."<title></title>/r/n";
 $xml=$xml."<NodeUrl>"."link"."</NodeUrl>/r/n";
 $xml=$xml."<child>".num($sortArray[$i][0],$dbw,$level)."</child>/r/n";
 $xml=$xml."<target></target>/r/n";
 $xml=$xml."</TreeNode>/r/n";
}
$xml=$xml."</xml>";
print $xml;
function num($temp_id,$dbw,$level){//早期的mysql不支持子查询,所以我把阿信的子查询sql拆成了两个部分,这个函数的作用是取得当前节点下还有几个子节点。
$sql1="select count(*) from qk_kind  where kind_parentid = ".$temp_id." and kind_level>=".$level;
$dbw->query($sql1);
$dbw->next_record();
return $dbw->f(0);
}
?>
然后是改htc文件
Service:"server.php",//节点数据文件
找到这个函数function GetXml(objContainer,id){}
这里XmlHttp.open("get",Config.Service+'?NodeId='+id+'&tem'+Math.random(),true)
红字部分,上面说了。就是是对应的。
ok可以用了...
 
原创粉丝点击