# 帝国cms内容页如何高效调用随机文章

*Published:* 2024-06-07
*Author:* 客服001

#### 温馨提醒

如果文章内容或图片资源失效，请留言反馈，我们会及时处理，谢谢

本文最后更新于2024年6月7日，已超过 180天没有更新



1、在userfun.php中添加自定义函数：

```
function xarjtc_get_keyid($tbname,$limit=15){
    global $empire,$dbtbpre;
    $maxid=$empire->gettotal("select max(id) as total from {$dbtbpre}ecms_{$tbname} ");
    $ids=array();
    $i=0;     
    while($i<$limit){
            $key=rand(1,$maxid);
            $key=$empire->gettotal("select id as total from {$dbtbpre}ecms_{$tbname} where id<=$key order by id desc limit 1 ");
            if(in_array($key,$ids))continue;
            $ids[]=$key;
            $i++;
    }
    $rand=implode(',',$ids);   
    return $rand;
}
```

2、在模板中调用代码

```
<?php
// 获取随机数字
$randomNumbers = xarjtc_get_keyid('cidian');
// 构建SQL查询语句
$sql = $empire->query("select * from {$dbtbpre}ecms_cidian where id in ({$randomNumbers}) order by onclick limit 15");
// 循环输出结果
while($r = $empire->fetch($sql)){
?>
<li><a href="<?=$r['titleurl']?>" title="<?=$r['title']?>"><?=$r['title']?></a></li>
<?php
}
?>
```

注：把代码中的表名换成自己对应的数据表。