csdn的树型结构php+mysql的实现方式(二)
2007-03-19 09:29
811 查看
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可以用了...
<?
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可以用了...
相关文章推荐
- PHP+Mysql树型结构(无限分类)数据库设计的2种方式实例
- PHP+Mysql树型结构(无限分类)数据库设计的2种方式实例
- PHP+Mysql树型结构(无限分类)数据库设计的2种方式实例
- 使用函数递归实现基于php和MySQL的动态树型菜单
- php中mysql_pconnect()的实现方式.
- php/mysql/jquery实现各系统流行的瀑布流显示方式
- PHP MySQL实现无限级分类|树型显示分类关系
- 使用"函数递归"实现基于php和MySQL的动态树型菜单
- 使用函数递归实现基于php和MySQL的动态树型菜单
- 将树形结构的数据转换为二维数组 (续 PHP非递归方式实现无限分类(转载))
- 使用函数递归实现基于PHP和MySQL的动态树型菜单[转]
- Mysql树型结构2种方式及相互转换
- php+mysql实现无限级分类 | 树型显示分类关系
- [VB.NET]csdn上的论坛树型结构是怎么实现的呢 ??用的是什么技术和控件啊?
- php/mysql/jquery实现各系统流行的瀑布流显示方式
- php/mysql/jquery实现各系统流行的瀑布流显示方式,实现很简单的哈!!!!
- php/mysql/jquery实现各系统流行的瀑布流显示方式
- php+mysql+jquery实现瀑布流显示方式
- PHP+MYSQL实现输出打印数据库表结构和输出表内容
- 使用"函数递归"实现基于php和MySQL的动态树型菜单