SEO技术博客帝国教程↬说一说我常用的帝国cms随机文章调用的写法

说一说我常用的帝国cms随机文章调用的写法

御弓之家2020-05-11 22:32【帝国教程】快速评论

在使用帝国cms模板制作网站的时候,随机文章调用方法有多种。对大部分开发者来说,都是用order by rand()来随机调用文章,这种方法很简单,相信只要稍微了解帝国cms的读者都会使用。


另外,WC曾发表了一个高效的调用方法:


先用php随机出信息ID,然后SQL调用用id in (php随机的ID列表)


调用举例:


<?php


$randnum=10; //随机数量


$randids='';


$randdh='';


for($i=1;$i<=$randnum;$i++)


{


$randids.=$randdh.rand(1,100000); //1为最小ID,100000为最大ID


$randdh=',';


}


?>


[e:loop={栏目ID,显示条数,操作类型,只显示有标题图片,"id in ($randids)"}]


模板代码内容


[/e:loop]


第一种方法我曾经使用过,wc的方法我没有使用过,主要是我有自己的调用方法,不是说比前两种方法好,只是用着习惯了,也不知道有没有其他人在使用这种方法,现在介绍给大家:


直接在根目录新建一个php文件,文件内容:


<?php


require('../class/connect.php'); //引入数据库配置文件和公共函数文件


require('../class/db_sql.php'); //引入数据库操作文件


$link=db_connect(); //连接MYSQL


$empire=new mysqlquery(); //声明数据库操作类


$sql="SELECT * FROM {$dbtbpre}ecms_news AS t1 JOIN (SELECT ROUND(RAND() * ((SELECT MAX(id) FROM {$dbtbpre}ecms_news )-(SELECT MIN(id) FROM {$dbtbpre}ecms_news))+(SELECT MIN(id)


FROM {$dbtbpre}ecms_news )) AS id) AS t2 WHERE t1.id >= t2.id ORDER BY t1.id LIMIT 1";


?>


<?php


$str="";


for($i=1;$i<6;$i++){


$nr= $empire->fetch1($sql);


$titleurl=sys_ReturnBqTitleLink($nr);


$str=$str."<li><a href='".$titleurl."' title='".$nr['title']."'><h3 class='title'>".$nr['title']."</h3></a></li> ";


}


db_close(); //关闭MYSQL链接


$empire=null; //注消操作类变量


echo $str;


?>


- END -

浏览完了?你可以点我去评论留下观点!

上一篇:帝国cms后台之解析上传图片

下一篇:没有了

评论

    不发表一下观点,这个评论功能拿来做什么?
    • 全部评论(0
      还没有评论,快来抢沙发吧!