织梦dedecms系统万能SQL标签调用归纳

织梦dedecms系统万能SQL标签调用归纳,第1张

概述织梦模板制作经常要用到很多标签,新手都不是很熟,我把它整理了一下,贴出来dedecms万能SQL标签调用归纳如下: 注意: dede_archives 这是举例默认的数据库表,如果你修改过表头请将表名改为自己的。在列举的标签中有的只写出了SQL语句。具体完整标签写法请 织梦模板制作经常要用到很多标签,新手都不是很熟,我把它整理了一下,贴出来Dedecms万能sql标签调用归纳如下: 
   注意:  dede_archives   这是举例默认的数据库表,如果你修改过表头请将表名改为自己的。在列举的标签中有的只写出了SQL语句。具体完整标签写法请参考:织梦sql标签调用方法 
    共有文章:** 篇 
    {dede:sql sql="select count(ID) as c from dede_archives where channel=1"}·共有文章:[fIEld:c /]篇{/dede:sql} 
    共有图集:** 个 
    {dede:sql sql="select count(ID) as c from dede_archives where channel=2"}·共有图集:[fIEld:c /]个{/dede:sql} 
    共有软件:** 个 
    {dede:sql sql="select count(ID) as c from dede_archives where channel=3"}·共有软件:[fIEld:c /]个{/dede:sql} 
    共有评论:**条 
    {dede:sql sql="select count(ID) as c from dede_Feedback"}·共有评论:[fIEld:c /]条{/dede:sql} 
    共有会员:**名 
    {dede:sql sql="select count(ID) as c from dede_member "}·共有会员:[fIEld:c /]名{/dede:sql} 
    {dede:sql sql="select count(mID) as c from dede_member "}共有会员:[fIEld:c /] 名{/dede:sql} 
    文章阅读:** 人次 
    {dede:sql sql="select sum(click) as c from dede_archives"}文章阅读:[fIEld:c /]人次{/dede:sql} 
    今日更新:**篇 
    {dede:sql sql="SELECT count( ID ) AS c FROM dede_archives WHERE pubdate > UNIX_TIMESTAMP( CURDATE( ) ) "}今日更新:[fIEld:c /]篇{/dede:sql} 
    24小时发布的新文章: 
    select count(ID)+0 as total from dede_archives where UNIX_TIMES*****P() - pubdate < 86400 and arcrank >=0; 
    86400 是 3600 * 24,就是24小时发布的新文章。 
    当天发布的最新文章 
    SELECT count(ID) as count from dede_archives where pubdate > UNIX_TIMES*****P( FROM_UNIXTIME(UNIX_TIMES*****P(), '%Y-%m-%d 00:00:00'))  limit 1; 
    当天审核通过的最新文章 
    SELECT count(ID) as count from dede_archives where pubdate > UNIX_TIMES*****P( FROM_UNIXTIME(UNIX_TIMES*****P(), '%Y-%m-%d 00:00:00')) and arcrank >0  limit 1; 
    当天审核通过的最新文章 
    where to_days(curdate())=to_days(from_unixtime(pubdate)) and arcrank=0 
    本月更新:**篇 
    {dede:sql sql="SELECT count( ID ) AS c FROM cn_archives WHERE FROM_UNIXTIME( pubdate,'%m' ) = month (curdate( )) "} ○ 本月更新:    文章收藏次数: 
    [fIEld:ID runPHP='yes']$dsql = new dedesql();$dsql -> Setquery("select count(*) as c from cn_member_stow where aID=".@me);$nic_row = $dsql -> getone();@me=$nic_row['c'];[/fIEld:ID] 
    统计指定栏目及所有下属分支栏目内的文章数 
    1、修改include/inc_functions.PHP文件,增加函数如下: 
    function GetTotalArc($tID){ 
    $dsql = new Dedesql(false); 
    $sql = TypeGetSunID($tID,$dsql); 
    $row = $dsql->Getone("Select count(ID) as dd From dede_archives where {$sql}"); 
    return $row['dd']; 
    } 
    2、调用方法,在需要修改的模板页插入如下代码(其中的3是栏目ID,根据你的实际情况修改) 
    {dede:fIEld function='GetTotalArc(3)'/} 
    补充一点: 
    如果在栏目模板页面上调用,可以用这个写法,统计当前栏目内的文章数 
    {dede:fIEld name='ID'  function='GetTotalArc(@me)'/} 
    栏目文章统计功能 
    使用 Dedecms 的runPHP 接口 编写一个 函数。利用channel标签的ID变量或得。 
    函数。 
    function GetChannelArticleNum($ID){ 
    if(!$ID || !is_numeric($ID)) return 0; 
    $dsql = new Dedesql(); 
    require_once(dirname(__file__)。"/inc_channel_unit_functions.PHP"); 
    $sql = TypeGetSunID($ID,$dsql); 
    $dsql -> Setquery("Select count(*) as c From dede_archives where {$sql}"); 
    $row = $dsql -> Getone(); 
    return $row['c']; 
    } 
    将该函数放入 inc_functions.PHP 中 
    示例调用方法。 
    {dede:channel type='top' row='8'} | [fIEld:typename/] ([fIEld:ID runPHP='yes'] @me = GetChannelArticleNum(@me);[/fIEld:ID]){/dede:channel} 
    增加栏目文章统计功能 
    第一种方法: 
    1、 修改include/inc_arcpart_vIEw.PHP文件,找到function ParseTemplet()函数 
    修改为: 
    function ParseTemplet() 
    { 
    if(!is_array($this->dtp->CTags)) return ""; 
    foreach($this->dtp->CTags as $tagID=>$ctag) 
    { 
    $tagname = $ctag->Getname(); 
    //countclass 统计栏目文章数量 
    if( $tagname == "countclass" ){ 
    $tID = $ctag->GetAtt("typeID"); 
    $row = $this->dsql->Getone("Select count(ID) as dd From dede_archives where typeID='$tID' and arcrank<>-1"); 
    $this->dtp->Assign($tagID,$row['dd']); 
    } 
    2、在网页上调用方法 
    {dede:countclass typeID=栏目编号/} 
    例如: 
    {dede:countclass typeID='2'/} 
    第二种方法: 
    1、修改include/inc_functions.PHP文件,增加函数如下: 
    function GetTotalArc($tID){ 
    $dsql = new Dedesql(false); 
    $row = $dsql->Getone("Select count(ID) as dd From dede_archives where typeID='$tID'"); 
    return $row['dd']; 
    } 
    2、调用方法 
    [fIEld:ID function='GetTotalArc(@me)'/] 总结

以上是内存溢出为你收集整理的织梦dedecms系统万能SQL标签调用归纳全部内容,希望文章能够帮你解决织梦dedecms系统万能SQL标签调用归纳所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/zz/1057493.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存