1861资源网:您身边、安全、高速、放心的专业下载站!
手机站 软件专题
1861资源网
热门搜索: 请搜索 软件: 相关信息 照明商店 搜索 教程:相关 爆裂点 照明商店 请输入 相关: 软件

帝国CMS自定义列表的排序方法(24小时排行、本周排行、本月排行)

    帝国CMS自定义列表的排序方法 举例如下
    desc - 降序排列 ASC - 升序排列
    id desc 是按id降序排列
    id ASC 是按id升序排列
    举一反三排序方式:id(id)、newstime (时间)、onclick(点击或浏览)、p统计记录: select count(*) as total from [!db.pre!]ecms_movie
    举一反三排序方式:id(id)、newstime (时间)、onclick(点击或浏览)、plnum (评论)、diggtop 、  rand (随机)

    查询记录: select * from [!db.pre!]ecms_movie where classid='$GLOBALS[navclassid]' order by id desc 降序id
    查询记录: select * from [!db.pre!]ecms_movie where classid='$GLOBALS[navclassid]' order by newstime desc 降序 时间
    查询记录: select * from [!db.pre!]ecms_movie where classid='$GLOBALS[navclassid]' order by onclick desc 降序 点击或浏览
    查询记录: select * from [!db.pre!]ecms_movie where classid='$GLOBALS[navclassid]' order by rand desc 降序 随机

    用灵动标签吧
    省事
     
    [e:loop={8,10,0,0}]
    <li><a href="<?=$bqsr['titleurl']?>" target="_blank"><?=$bqr['title']?></a></li>
    [/e:loop]
    第一个8就是栏目ID
    第二个10是调用10条信息
    第三个0是按栏目调用最新信息,如果是1则是按按栏目点击排行调用。如果是18以上,则是按数据表调用了,比如:[e:loop={'news',10,18,0}] 这个就是调用数据表news的最新信息。18就是按数据表调用最新信息,如果是19则是按数据表调用点击排行。。。其它的调用都有数字代替的,你可以在论坛搜索下。
    第四个0表示有没有标题图片的信息都调用,如果是1则表示只调用有标题图片的信息


    首页灵动标签调用
    [e:loop={37,10,1,0}]<!--第一个1就是栏目ID,第二个10是调用10条信息,第三个0是按最新,如果是1则是按点击排行,第四个0表示有没有标题图片的信息都调用/1则表示只调用有标题图片的信息-->
    <li>
    链接:<?=$bqr['titleurl']?>
    标题:<?=$bqr['title']?>
    标题:<?=esub($bqr[title],60)?> (60控制字符)
    图标:<?=$bqr['titlepic']?>
    </li>
    [/e:loop]

    帝国CMS如何调用本月热点排行信息?
    标签附加SQL条件参数设置:'newstime>UNIX_TIMESTAMP()-86400*30'即可。
    [e:loop={32,10,1,0,'newstime>UNIX_TIMESTAMP()-86400*30'}]
    提示:32为调用栏目ID,10位调用条数。
     

    【帝国CMS】排行榜调用标签(24小时排行、本周排行、本月排行)
    [e:loop={0,9,4,0,'newstime>UNIX_TIMESTAMP()-86400*30','onclick desc'}]
    <li><a href="<?=$bqsr['titleurl']?>"><?=$bqr['title']?></a></li>
    [/e:loop] 

    30=月;

    7=周;

    1=日;

    依此类推。

    上面使用场景比较简单,如果使用场景比较复杂(条件判断比较多),可以使用以下办法:

    [e:loop={"select * from {$dbtbpre}ecms_news where newstime>UNIX_TIMESTAMP()-86400*7  
     and classid=1 order by onclick desc limit 10",0,24,0}]
    <a href="<?=$bqsr['titleurl']?>" target="_blank"><?=$bqr['title']?></a>
    [/e:loop]

    and classid=7 同时指定栏目

    newstime:文章发布时间
    其中86400*7中的7表示天,如果是月就是30,年就是365


    下面方法也可以
    方法1、
    显示一周内信息点击排行
    [e:loop={"select * from {$dbtbpre}ecms_news where FROM_UNIXTIME(newstime)>SUBDATE(NOW(),INTERVAL 7 DAY)  order by onclick desc limit 10",0,24,0}]
    <a href="<?=$bqsr['titleurl']?>" target="_blank"><?=$bqr['title']?></a> <br>
    [/e:loop]

    或者 

    [e:loop={"select * from {$dbtbpre}ecms_news where newstime>UNIX_TIMESTAMP()-86400*7  order by onclick desc limit 10",0,24,0}]
    <a href="<?=$bqsr['titleurl']?>" target="_blank"><?=$bqr['title']?></a> <br>
    [/e:loop]



    [e:loop={'news',10,18,0,'newstime>UNIX_TIMESTAMP()-86400*7','onclick desc'}]
    <a href="<?=$bqsr[titleurl]?>" target="_blank"><?=$bqr[title]?></a><br>
    [/e:loop]


    newstime:文章发布时间
    其中86400*7中的7表示天,如果是月就是30 年就是365


    其排列方式:文章发布时间起统计

    今天(24小时):newstime>UNIX_TIMESTAMP()-86400*1 必须是今天发布的文章  
    一周:newstime>UNIX_TIMESTAMP()-86400*7 必须是一周内发布的文章  


    举例:

    昨天:<br>
    <?php
    $beginYesterday=mktime(0,0,0,date('m'),date('d')-1,date('Y'));
    $endYesterday=mktime(0,0,0,date('m'),date('d'),date('Y'))-1;
    ?>
    [e:loop={"select * from [!db.pre!]ecms_news where newstime BETWEEN $beginYesterday and $endYesterday order by onclick desc limit 10",0,24,0}]
    标题:<a href="<?=$bqsr[titleurl]?>" target="_blank"><?=$bqr[title]?></a>---点击:<?=$bqr[onclick]?><br>
    [/e:loop]
    <br>----------------------------------------<br>
    今天:<br>
    [e:loop={'news',10,18,0,'newstime>UNIX_TIMESTAMP()-86400*1','onclick desc'}]
    标题:<a href="<?=$bqsr[titleurl]?>" target="_blank"><?=$bqr[title]?></a>---点击:<?=$bqr[onclick]?><br>
    [/e:loop]
    <br>----------------------------------------<br>
    一周:<br>
    [e:loop={'news',10,18,0,'newstime>UNIX_TIMESTAMP()-86400*7','onclick desc'}]
    标题:<a href="<?=$bqsr[titleurl]?>" target="_blank"><?=$bqr[title]?></a>---点击:<?=$bqr[onclick]?><br>
    [/e:loop]
    <br>----------------------------------------<br>
    一月:<br>
    [e:loop={'news',10,18,0,'newstime>UNIX_TIMESTAMP()-86400*30','onclick desc'}]
    标题:<a href="<?=$bqsr[titleurl]?>" target="_blank"><?=$bqr[title]?></a>---点击:<?=$bqr[onclick]?><br>
    [/e:loop]

    <br>----------------------------------------<br>
    三月:<br>
    [e:loop={'news',10,18,0,'newstime>UNIX_TIMESTAMP()-86400*90','onclick desc'}]
    标题:<a href="<?=$bqsr[titleurl]?>" target="_blank"><?=$bqr[title]?></a>---点击:<?=$bqr[onclick]?><br>
    [/e:loop]

    <br>----------------------------------------<br>
    一年:<br>
    [e:loop={'news',10,18,0,'newstime>UNIX_TIMESTAMP()-86400*365','onclick desc'}]
    标题:<a href="<?=$bqsr[titleurl]?>" target="_blank"><?=$bqr[title]?></a>---点击:<?=$bqr[onclick]?><br>
    [/e:loop]
    <br>----------------------------------------<br>
    全部:<br>
    [e:loop={'news',10,18,0,'','onclick desc'}]
    标题:<a href="<?=$bqsr[titleurl]?>" target="_blank"><?=$bqr[title]?></a>---点击:<?=$bqr[onclick]?><br>
    [/e:loop]



    方法2、

    昨天:
    <?php
    $beginYesterday=mktime(0,0,0,date('m'),date('d')-1,date('Y'));
    $endYesterday=mktime(0,0,0,date('m'),date('d'),date('Y'))-1;
    ?>
    [e:loop={"select * from [!db.pre!]ecms_news where newstime BETWEEN $beginYesterday and $endYesterday order by onclick desc limit 10",0,24,0}]
    标题:<a href="<?=$bqsr[titleurl]?>" target="_blank"><?=$bqr[title]?></a>---点击:<?=$bqr[onclick]?><br>
    [/e:loop]

    注释:

    //php获取今日开始时间戳和结束时间戳
    $beginToday=mktime(0,0,0,date('m'),date('d'),date('Y'));
    $endToday=mktime(0,0,0,date('m'),date('d')+1,date('Y'))-1;

    //php获取昨日起始时间戳和结束时间戳 (即:前一天)
    $beginYesterday=mktime(0,0,0,date('m'),date('d')-1,date('Y'));
    $endYesterday=mktime(0,0,0,date('m'),date('d'),date('Y'))-1;

    //调取这两天(包括今天):(修改昨天)--date('d')-1:这两天 、date('d')-2:这三天、以此类推(注意:$beginYesterday、$endYesterday这两个未改动,还是沿用的昨天的名称)
    $beginYesterday=mktime(0,0,0,date('m'),date('d')-1,date('Y'));
    $endYesterday=mktime(0,0,0,date('m'),date('d')+1,date('Y'))-1;

    //调取前两天(修改昨天)--date('d')-2:前两天 、date('d')-3:前三天、以此类推(注意:$beginYesterday、$endYesterday这两个未改动,还是沿用的昨天的名称)
    $beginYesterday=mktime(0,0,0,date('m'),date('d')-2,date('Y'));
    $endYesterday=mktime(0,0,0,date('m'),date('d'),date('Y'))-1;

    //php获取上周起始时间戳和结束时间戳 
    $beginLastweek=mktime(0,0,0,date('m'),date('d')-date('w')+1-7,date('Y'));
    $endLastweek=mktime(23,59,59,date('m'),date('d')-date('w')+7-7,date('Y'));

    //php获取本周起始时间戳和结束时间戳 
    $beginThisweek=mktime(0,0 ,0,date("m"),date("d")-date("w")+1,date("Y"));
    $endThisweek=mktime(23,59,59,date("m"),date("d")-date("w")+7,date("Y"));

    //php获取上月起始时间戳和结束时间戳 
    $beginLastmonth=mktime(0,0,0,date("m")-1,1,date("Y"))
    $endLastmonth=mktime(23,59,59,date("m"),0,date("Y"))

    //php获取本月起始时间戳和结束时间戳 
    $beginThismonth=mktime(0,0,0,date('m'),1,date('Y'));
    $endThismonth=mktime(23,59,59,date('m'),date('t'),date('Y'))

    转载请注明: 帝国模板 » 帝国CMS灵动标签按照点击数实现天、周、月排行榜调用

帝国教程 发布: 2022-04-17   修改: 2024-04-26   阅:   评:   点击报错反馈
相关文章
本类最新发布
本类推荐
本类评论
留言与评论(共有 0 条评论)
验证码:
本类软件分类
文章总排行
文章月排行
装机必备软件
全站下载总排行

1861资源网

http://www.zywlyy.cn/

   |

1861资源网 软件下载

1861资源网

使用手机软件扫描微信二维码

关注我们可获取更多热点资讯

感谢网络科技公司技术支持