帝国CMS7.X灵动标签上一篇、下一篇高效代码写法

帝国CMS7.X灵动标签上一篇、下一篇高效代码写法

帝国是老牌的CMS门户网站管理系统了,由其静态页面高效的响应能力及自身的安全性,让广大的草根站长青睐,如今帝国已经发展到7.5系列了,本次代码适用于帝国7.x所有版本。

帝国灵动标签上一篇高效写法

[e:loop={'selfinfo',1,0,0,'id<'.$navinfor[id].'','id desc'}]
<?php
	if (empty($bqsr['titleurl'])){
		$preurl = "https://www.letogther.cn";
		$pretit = "不好意思没有了";
	}else{
		$preurl = $bqsr['titleurl'];
		$pretit = esub($bqr['title'],32);
if (empty($bqr['titlepic'])){
		$netpic = '如果无图的备用图片地址';
}else{
		$netpic = $bqr['titlepic'];//这里是有图的时候,会直接显示
	}
	}
?>
[/e:loop]

看见了没?如果你不懂代码的话,没关系,直接粘贴到模板里就可以使用了,这段代码的原理是从数据读取本条信息,然后通过PHP判断比本条信息ID还小一个ID的信息,如果在数据库里存在的话就显示,不存在则继续寻找下一条合适的信息,这是上一篇的写法!

[e:loop={'selfinfo',1,0,0,'id>'.$navinfor[id].'','id desc'}]
<?php
	if (empty($bqsr['titleurl'])){
		$neturl = "https://www.letogther.cn";
		$nettit = "不好意思没有了";
	}else{
		$neturl = $bqsr['titleurl'];
		$nettit = esub($bqr['title'],32);
if (empty($bqr['titlepic'])){
		$prepic = 'https://cae.letogther.cn/service/images/prenet.png_img380120.png';
}else{
		$prepic = $bqr['titlepic']."_img380120.png";
	}
	}
?>
[/e:loop]

这是下一条的写法,和上一条有异曲同工之妙,只是在这里做了稍微的改动id<变成了id>了,意思还是一样的,判断比本ID信息还要大一个的ID信息,如果存在则显示,不存在继续寻找下一条,直到符合条件为止。

大数据下帝国上一篇,下一篇的高效写法

在上面,海豚给大家介绍了如何解决在帝国灵动标签下上一篇、下一篇的写法,这种方法在中、小型数据下还没有什么大的问题,但在大数据下就会显得比较吃力,因为其语句里依然包含了逐条查询的逻辑,这种逻辑在大数据下会表现的比较明显,特别是在生成页面的时候,如果你用的还是动态网站的话,那就更是消耗资源了,所以在这里再交大家一种更高效的方法。

帝国上一篇、下一篇之终极必杀(适用于任何网站环境)

下面这个方法需要你有一定的PHP设计能力

<?php $preurl = $navinfor['id']-1; $neturl = $navinfor['id']+1; $preurl_f=$empire->fetch1("select title,titleurl from phome_ecms_{$navinfor['classid']} where id='$preurl'"); $neturl_f=$empire->fetch1("select title,titleurl from phome_ecms_{$navinfor['classid']} where id='$neturl'"); if (empty($preurl_f['titlepic'])){ $prepic = 'https://cae.letogther.cn/service/images/background.jpg_img380120.png'; }else{ $prepic = $preurl_f['titlepic']."_img380120.png"; } if (empty($neturl_f['titlepic'])){ $netpic = 'https://cae.letogther.cn/service/images/background.jpg_img380120.png'; }else{ $netpic = $neturl_f['titlepic']."_img380120.png"; } ?>

首先给出一段代码,此代码大致原理我来说一下,在上面,海豚说过,灵动标签的方法会逐条扫描数据库,这样在大数据下很不友好,所以我们将这个任务交给PHP程序,由程序直接给出信息的ID,再定点在数据库里提取信息,由于是直接读取,mysql数据库当然不会有任何压力,即便你的数据上亿条也能轻松应对,此代码需要配合下面的代码进行调用。

PHP高效上一篇:

<div class="prev-post"><a href="<?=$preurl_f[titleurl]?>" data-title="<?=$preurl_f[title]?>" class="prev-a prev has-background" alt="<?=$preurl_f[title]?>"><span>上一篇</span>

PHP高效下一篇:

<div class="next-post"><a href="<?=$neturl_f[titleurl]?>" data-title="<?=$neturl_f[title]?>" class="next-a next has-background" alt="<?=$neturl_f[title]?>"><span>下一篇</span>

这两条代码需要配合上边的PHP代码使用,无法单独使用!

如果你的网站环境不是帝国CMS,那么此代码还需要作小量的改动才能使用,具体看你的网站环境了,如果对此有什么疑问可以留言,也可以直接QQ联系我

相关文章: