新手DedeCMS二次开发数据库类最实用总结
作者: 本站原创 发布时间: 浏览: 次
笔者从一个不懂PHP、SQL就能搭建网站,会美工就敢弄JS特效,会写文章就敢整SEO排名...胆子非常肥,也接下了许多企业、博客、商城网站建设。面对网站越来越丰富的功能需求,在程序二次开发还需要多努力。
DedeCMS入门很简单,甚至都不需要懂PHP。不管是练手或者做中小型网站开发来说都很好,最重要的是开源、免费、学习资源丰富。
秀站网秀站网刚开始接触的就是DedeCMS(基于PHP开发的开源内容管理系统),DedeCMS数据库操作类在二次开发中非常重要,很多函数都比较相似,函数基本属于面向对象,下面总结部分数据库操作的基本内容,对新手很有帮助。
引入php配置文件common.inc.php
require_once(dirname(__FILE__) . "/include/common.inc.php");
获取数据库内容
$row = $dsql->GetOne("SELECT * FROM dede_* where id = $aid"); echo $row['id'];
获取查询结果总数
$row = $dsql->GetOne("SELECT count(*) as dd where typeid = $typeid"); echo $row['dd'];
循环输出查询结果
$sql = "SELECT * FROM dede_*"; $dsql->SetQuery($sql); //将SQL查询语句格式化 $dsql->Execute(); //执行SQL操作 //循环输出查询结果 while($row = $dsql->GetArray()){ //也可以用while($row = $dsql->GetObject()){ echo $row['id']; echo $row['title']; }
将查询的若干条记录输出
$dsql->SetQuery("SELECT id,typename FROM `dede_arctype` where reid = 0 AND channeltype = 1 AND ishidden = 0 AND ispart <> 2 ORDER BY sortrank"); $dsql->Execute(); while($row = $dsql -> GetObject()){ $channellist .="<a href ='wap.php?action=list$id={$row->id}'>{$row->typename}</a>"; echo $row->id; }
插入一条记录
$sql = "INSERT INTO `dede_member_flink`(mid,title,url,linktype,imgurl,imgwidth,imgheight) VALUES (".$cfg_ml->M_ID.",'$title','$url','$linktype','$imgurl','$imgwidth','$imgheight')"; $dsql->ExecuteNoneQuery($sql); //执行SQL操作 $gid = $dsql->GetLastID(); //获取刚刚插入的ID
更新一条记录
$upquery = "UPDATA dede_member_flink SET title = '$title',url = '$url',linktype = '$linktype', imgurl = '$imgurl',imgwidth = '$imgwidth',imgheight = '$imgheight' WHERE aid = '$aid' AND mid = ".$cfg_ml->M_ID.""; $rs = $dsql->ExecuteNoneQuery($upquery);
判断获取数据库内容的常用方法
$row = $dsql->GetOne("SELECT * FROM dede_moneycard_type where tid ={$pid}"); if(!is_array($row)){ echo "失败"; exit(); }
关闭数据库
$dsql->Close();