帝国CMS最高效的几种随机文章的写法

帝国CMS最高效的几种随机文章的写法

浏览次数:
作者: 墨鱼
信息来源: 本站原创
更新日期: 2017-06-11 19:20:07
文章简介

帝国CMS高效随机文章写法,助您轻松实现内容多样化。通过调用随机函数,结合SQL查询,可快速生成独特文章列表。不同写法各具特色,满足各种需求,且仅输出一条,保证内容精炼,提升用户体验。

  • 正文开始
  • 相关阅读
  • 推荐作品

 php随机文章

 

方法1、WC写的高效随机调用

 

<?php

$randnum=1;        //随机数量

$randids='';

$randdh='';

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

{

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

        $randdh=',';

}

?>

[e:loop={29,1,0,0,"id in ($randids)"}]

<a href="<?=$bqsr[titleurl]?>"><?=esub($bqr[title],42)?></a>

[/e:loop]

 

问题:因为在 $randids.=$randdh.rand(18,30);  这个里,ID改成1,10000,无法显示,只有改成当前栏目的最小和最大ID,才能显示出来。那么问题是:现在文章少,如果以     后文章增多,这里的最大ID要随时修改么?还是有其他的办法呢?

 

答案:增加个系统扩展变量,以后改扩展变量就可以,不用改模板

      如:增加了一个<?=$public_r['add_listnum']?>扩展变量 写到“$randids.=$randdh.rand(18,30); ” 

          格式为: $randids.=$randdh.rand($public_r['add_listnum']); 即:把<?和?>去掉

     

 

----------------------------------------------------------------------------------------------------------------------------------------------

 

方法2、

 

第一步:创建一个自定义页面:后台-栏目-自定义页面- 增加自定义页面

 填写:①页面模式:直接页面式  ②页面名称(*):php随机文章  ③文件名(*): ../../test.php (在根目录) ④所属分类:有就选择没有就默认不选  

       ⑤ 网页标题、网页关键词、网页描述:省略不填了  ⑥页面内容(*):看第二步

 

注释:填写大意为:位置为 ../../test.php,直接页面式 

 

第二步:代码大致为(下面的要连接上数据库)

<!--code.start-->?php

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

require('e/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"; 

?<!--code.end-->

<!--code.start-->?php

$str="";

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

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

$titleurl=sys_ReturnBqTitleLink($nr);

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

}

db_close(); //关闭MYSQL链接

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

echo $str;

?<!--code.end-->

 

第三步:①模板中用[readhttp]'http://127.0.0.1/dg2/test.php'[/readhttp] 调用文件 (不成功,只有后台刷新才能随机变化)

       ②用框架代码:<iframe border=0 name=lantk src="http://127.0.0.1/dg2/test.php" width=400 height=400 allowTransparency scrollbars=yes frameBorder="0"></iframe>  (成功,但不利于seo)

    

 

注释:①看看 code.start 和 code.end是干啥的(就是<和>):

 

//解析代码

function RepExeCode($string){

        global $public_r;

        if($public_r[candocode])

        {

                $string=str_replace('<!--code.start-->','<',$string);

                $string=str_replace('<!--code.end-->','>',$string);

    }

        return $string;

}

 

②for($i=1;$i<11;$i++){ 这行中的11表示调用10条 举例:for($i=1;$i<6;$i++){  表示条用5条

 

 

方法2----演变、

 

直接在根目录(目录自行选择更改)新建一个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;

?>

帝国CMS判断文章是星期几发布
« 上一篇 2017年06月11日
给帝国CMS的错误报告增加个分类功能
下一篇 » 2017年06月14日
  • 微软bing IndexNow的推送和管理-帝国CMS插件
    23阅读0条评论0个赞
    微软Bing IndexNow推送管理插件,专为帝国CMS打造。本教程指导您如何高效利用该插件,实现网站内容快速被Bing搜索引擎收录。通过简单配置,即可自动化推送新发布或更新的页面至Bing,加速索引过程,提升网站SEO效果。轻松管理推送历史,监控索引状态,确保网站内容及时展现给目标用户。优化网站可见性,从掌握Bing IndexNow推送管理开始。
  • 帝国CMS8.0测试版搜索结果页只显示第1页的解决方法
    50阅读0条评论0个赞
    对于刚安装帝国CMS8.0测试版尝鲜的小伙伴们可能发现,使用高级搜索的时候结果页只显示第1页,虽然帝国CMS开发者说正式版会解决此问题,但是临时使用还是要先解决这个问题的。所以今天墨鱼就说下临时的解决方法。
  • 【优化分享】帝国CMS大数据量筛选性能瓶颈突破实践
    243阅读0条评论5个赞
    突破帝国CMS大数据筛选性能瓶颈实战教程:掌握高效技巧,轻松应对海量数据处理挑战。本教程详解性能优化策略,助力快速筛选,提升系统响应速度。无论你是开发者还是管理员,都能从中获益,实现数据筛选效率飞跃,让帝国CMS在大数据环境下依然流畅运行。立即学习,解锁大数据处理新技能!
  • 帝国CMS统计多个数据表今日更新总数代码
    166阅读0条评论4个赞
    帝国CMS统计多表今日更新总数代码教程:通过SQL查询结合帝国CMS函数,汇总多个数据表中今日更新的记录总数。步骤包括编写SQL联合查询语句,利用`DATE()`函数筛选今日数据,结合帝国CMS的数据库操作函数执行查询,并输出结果。此教程教你高效获取多表今日更新概况,优化管理效率。
  • 帝国cms7.5无刷新 Ajax 点击加载更多列表信息源代码
    825阅读2条评论13个赞
    帝国CMS 7.5 Ajax无刷新加载,高效实现点击加载更多列表信息,精简源码仅展示核心功能,优化用户体验,提升网页加载效率。

如本文对您有帮助,就请墨鱼抽根烟吧!