欢迎来到元素模板ys720.com,本站提供专业的织梦模板PBOOTCMS模板网站模板网站修改/网站仿站
当前位置:主页 > 程序教程 > 帝国cms教程 >
帝国cms教程

帝国cms随机文章调用的写法

(元素模板) / 2020-09-13 15:42

在使用帝国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;

?>

 
Copyright @ 2013-2021 元素模板 www.ys720.com All Rights Reserved. 版权所有 元素模板 www.ys720.com