帝国cms随机调用栏目文章的几种方法

帝国cms随机调用栏目文章的几种方法:正常情况下呢,只能在动态页面才可以随机调取,就是你刷新一下就变了内容,但是静态页面下,如果能把代码写进去,也是可以的。

正常情况下,我们在设置帝国CMS模板或者仿站的时候,页面中会根据

[时间:06-30]    [浏览:]    [放入收藏夹]    [查看详情]

帝国cms随机调用栏目文章的几种方法:正常情况下呢,只能在动态页面才可以随机调取,就是你刷新一下就变了内容,但是静态页面下,如果能把代码写进去,也是可以的。

正常情况下,我们在设置帝国cms模板或者仿站的时候,页面中会根据需要调用指定的栏目内容列表或者图片展示,帝国CMS的优势就是直接在后台自带调用标签设置工具,这一点还是非常不错的。但是有些页面空白的地方我们希望充实一点内容,于是一般采用的办法是调用随机内容。



 

下面这是显示效果,刷新就会变内容:


第一种方法代码
 

<div class="rand-item">
<div class="title"><h3>随机文章</h3></div>
<div class="box">
[e:loop={'你的栏目ID,小逗号多写',25,0,0,'','rand()'}]
<li><a href="<?=$bqsr[titleurl]?>" target="_blank"><?=$bqr[title]?></a></li>  //这是你的样式
[/e:loop]
</div></div>

 


第二种方法代码

<div class="whitebg suiji">
  <h2 class="side-title">随机文章</h2>
  <ul>  
        [e:loop={'selfinfo',10,1,0,'','rand()'}]
        <li><a target="_blank"  href="<?=$bqsr['titleurl']?>"><?=$bqr['title']?></a></li>//这是你的样式
        [/e:loop]
   </ul>
</div>

 


我们可以根据需要在合适的位置丢上随机文章调出标签,当然需要根据我们页面布局修改样式。


 

  看不少人喜欢用ORDER BY RAND()随机调用,随机调用是最耗资源的一种调用方式,信息数在1万以上随机调用就开始影响速度。使用时建议慎之又慎。

  如果确实要使用,可以用下面思路:


 

  第一种方法

 

<?php

$num=10;
$total=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_{$class_r[4]['tbname']} where classid=4");

$start=$total-$num;

$table=$class_r[4]['tbname'];

if($start<1){
$start=0;
}else{

$start=mt_rand(0,$start);
}

?>

[e:loop={'select * from '.$dbtbpre.'ecms_'.$table.' limit '.$start.','.$num,10,24,0}]
<li><a href="<?=$bqsr['titleurl']?>" target="_blank"><?=$bqr['title']?></a></li>
[/e:loop]

  第二种方法:
 

  先用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]





 


标签: