最新公告
  • 欢迎您光临站长模版网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • 帝国cms7.5内容随机调取(高效率简易版)

    正文概述 管理员   2024-04-11   27

    高效函数

    function user_randId($table='news'){
        global $dbtbpre,$empire;
        $filePath = ECMS_PATH . 'e/maxID'.md5($table).'.txt';  // 文件路径
        if(file_exists($filePath)) {
          $fileCreateTime = filectime($filePath);  // 获取文件创建时间(Unix 时间戳)
          $oneDayAgo = strtotime('-1 day');  // 当前时间减去一天的时间戳
        
          if ($fileCreateTime < $oneDayAgo) {
            unlink($filePath);
            $start = $empire->fetch1("select id from {$dbtbpre}ecms_{$table} where newstime <= ".time()." order by id ASC limit 1");
            $end = $empire->fetch1("select id from {$dbtbpre}ecms_{$table}  where newstime <= ".time()." order by id DESC limit 1");
            $index['min'] = $start['id'];
            $index['max'] = $end['id'];
            file_put_contents($filePath,json_encode($index));
            
          } else {
            $index = json_decode(file_get_contents($filePath),true);
          }
        } else {
          $start = $empire->fetch1("select id from {$dbtbpre}ecms_{$table}  where newstime <= ".time()." order by id ASC limit 1");
          $end = $empire->fetch1("select id from {$dbtbpre}ecms_{$table}  where newstime <= ".time()." order by id DESC limit 1");
          $index['min'] = $start['id'];
          $index['max'] = $end['id'];
          file_put_contents($filePath,json_encode($index));
        }
        $randnum=300; //随机数量 
        $randids=''; 
        $randdh=''; 
        for($i=1;$i<=$randnum;$i++) 
        { 
        $randids.=$randdh.rand($index['min'],$index['max']); //1为最小ID,100000为最大ID 
        $randdh=',';
        } 
        return $randids;
    }

    支持不同数据表的查询,默认为news表,调用方式为:

    <? $randids = user_randId('news1');?>
    [ecmsinfo]3,8,32,0,0,15,0,"id in ($randids)"[/ecmsinfo]

    高效率代码第二版:

    第二版可谓是更加智能,采用了缓存的技术,巴适

    <ul>
    <?php 
    $filePath = ECMS_PATH . 'e/maxID.txt';  // 文件路径
    
    if(file_exists($filePath)) {
    	$fileCreateTime = filectime($filePath);  // 获取文件创建时间(Unix 时间戳)
    	$oneDayAgo = strtotime('-1 day');  // 当前时间减去一天的时间戳
    
    	if ($fileCreateTime < $oneDayAgo) {
    		unlink($filePath);
    		$start = $empire->fetch1("select id from {$dbtbpre}ecms_news where newstime <= ".time()." order by id ASC limit 1");
    		$end = $empire->fetch1("select id from {$dbtbpre}ecms_news  where newstime <= ".time()." order by id DESC limit 1");
    		$index['min'] = $start['id'];
    		$index['max'] = $end['id'];
    		file_put_contents($filePath,json_encode($index));
    		
    	} else {
    		$index = json_decode(file_get_contents($filePath),true);
    	}
    } else {
    	$start = $empire->fetch1("select id from {$dbtbpre}ecms_news  where newstime <= ".time()." order by id ASC limit 1");
    	$end = $empire->fetch1("select id from {$dbtbpre}ecms_news  where newstime <= ".time()." order by id DESC limit 1");
    	$index['min'] = $start['id'];
    	$index['max'] = $end['id'];
    	file_put_contents($filePath,json_encode($index));
    }
    $randnum=32; //随机数量 
    $randids=''; 
    $randdh=''; 
    for($i=1;$i<=$randnum;$i++) 
    { 
    $randids.=$randdh.rand($index['min'],$index['max']); //1为最小ID,100000为最大ID 
    $randdh=',';
    } 
    ?>      
    
    	[e:loop={0,10,3,0,"id in ($randids)"}] 
    	<li>
    		<a href="<?=$bqsr['titleurl']?>" title="<?=$bqr['title']?>" target="_blank"><?=$bqr['title']?></a>
    	</li>
    	[/e:loop]
    	
    </ul>

    高效率调用第一版:

    <?php 
    $randnum=32; //随机数量 
    $randids=''; 
    $randdh=''; 
    for($i=1;$i<=$randnum;$i++) 
    { 
    $randids.=$randdh.rand(1,100); //1为最小ID,100000为最大ID 
    $randdh=',';
    } 
    ?> [e:loop={1,32,0,0,"id in ($randids)"}]      
    <li>
    <a href="<?=$bqsr['titleurl']?>" title="<?=$bqr['title']?>"><?=$bqr['title']?></a>
    </li>                  
    [/e:loop]

    站长模版网 » 帝国cms7.5内容随机调取(高效率简易版)

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    支付宝支付
    余额支付
    ×
    微信扫码支付 0 元