dedecms数据库操作类分析示例

2011-12-22 23:53 来源:www.chinab4c.com 作者:dedecms专家

    既然我们要研究dedecms二次开发。对dedecms做很好的二次开发。那么我们就必须对dedecms的数据库操作类比较熟悉。dedecms的数据库操作类位于include/dedesql.class.php。这个文件是dedecms数据库操作类的核心。

    dedecms数据库。我们先不讨论最深层次的东西。首先我们看dedecms中的最简单的sql查询。我们可以看到在dedecms数据库操作类的  function Execute($id="me", $sql='')代码,这个函数就是供给我们查询和执行SQL语句的。dedecms数据库类结果有个数据,通过$id来区分不同的返回的result的结果集合。有了结果结的数组下标分类标记,我们就很方便的可以在dedecms的sql中进行多层循环。

   $dsql->Execute("f","select * from dede_arctype where reid=0");这个查询语句产生的结果将放到$result['f']中。$dsql->Execute("f1","select * from dede_arctype where reid='".$row['id']."'");这条语句查询的结果集将放在$result['f1']中。

   如果某个页面需要执行的查询结果集不是很多。那么我们也可以使用缺省的变量来做结果结。那就是me。返回的结果结里面如果没有指明下标,那么将使用默认的$result['me'];

  比如以下就是例子,查询dedecms文章分类的2级分类树。

   $dsql->Execute("f","select * from dede_arctype where reid=0");
$tree = array();
while($row = $dsql->GetArray("f")){
 $row['typelink']=GetOneTypeUrlA($row);
 $tree[$row['id']]['id'] = $row['id'];
 $tree[$row['id']]['typelink'] = $row['typelink'];
 $ar =array();
 $dsql->Execute("f1","select * from dede_arctype where reid='".$row['id']."'");
 while($row1=$dsql->GetArray("f1")){
  $row1['typelink']=GetOneTypeUrlA($row1);
  $tree[$row1['reid']]['list'][] = $row1;

 }
}

   以上就是我们对dedecms数据库操作类分析示例总结。

   来源:http://www.chinab4c.com