织梦 dede runphp=yes SQL语句操作
个人实例dede:channelartlist 下循环出 channel 栏目 中的 文章
{dede:sql sql='select * from dede_arctype where reid =~id~ limit 6'}
<blockquote style='display:[field:global name='autoindex' runphp=yes]@me=@me ==1?'block':'none';[/field:global]'>
<div class="td1">
<dl><per>
[field:id runphp=yes]
global $dsql;
$id = @me;
$sql='select * from dede_archives where typeid='.$id;
$row=$dsql->getone($sql);
$description = cn_substr($row[description],120);
$url = GetOneArchive($row[id]);
$url = $url['arcurl'];
@me =<<<str
<dt><a target="_blank" href="$url"><img src="$row[litpic]" width="100px" height="93px" title="$row[title]"></a>
<h3><a target="_blank" href="$url" title="$row[title]">$row[title]</a></h3>
<p>$description</p>
</dt>
str;
[/field:id]
<dd>
[field:id runphp=yes]
global $dsql;
$id = @me;
$sql='select * from dede_archives where typeid='.$id.' limit 6';
$dsql->SetQuery($sql);//将SQL查询语句格式化
$dsql->Execute();//执行SQL操作
//通过循环输出执行查询中的结果
while($row = $dsql->GetArray()){
$url = GetOneArchive($row[id]);
$url = $url['arcurl'];
$str .=<<<str
<p><a target="_blank" href="$url" title="$row[title]" class="red"></a><a target="_blank" href="$url" title="$row[title]">$row[title]</a></p>
str;
@me = $str;
}
[/field:id]
</dd>
</div>
</blockquote>
{/dede:sql}
dedecms的数据库操作类,非常实用,在二次开发中尤其重要,这个数据库操作类说明算是奉献给大家的小礼物了。
引入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()){ echo $row['id']; echo $row['title']; } //或者采取这种方式输出内容 while($row = $dsql->GetObject()){ echo $row->id; echo $row->Title; }
将查询的若干条记录输出dedecms5
$dsql->SetQuery("Select id,typename From `#@__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
删除一条记录
$sql = "Delete From dede_member_flink where aid='$aid' And mid='".$cfg_ml->M_ID."';"; $dsql->SetQuery($sql); $dsql->ExecNoneQuery(); //或者使用简化模式 $dsql->ExecNoneQuery("Delete From dede_member_flink where aid='$aid' And mid='".$cfg_ml->M_ID."';");
更新一条记录
$upquery = " Update 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(); } ///////////////////////////// $upquery = " Update 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); if($rs){ echo "成功"; }else{ echo "失败"; }
获取总数
$dsql = new DedeSql(false); $dsql->SetQuery("Select * from `dede_admin` where userid='$userid' Or uname='$uname'"); $dsql->Execute(); $ns = $dsql->GetTotalRow();
关闭数据库
$dsql->Close();

浙公网安备 33010602011771号