帝国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灵动标签按照点击数实现天、周、月排行榜调用