78模板网分享cms建站教程,提供网站模板、网站插件、办公模板等模板教程免费学习,找模板教程就上78模板网!

zblog教程:ZBlog获取随机文章的两种方法(已优化)

在ZBlogPHP中,想要获取随机文章,很多人会用下面这样的代码:

{php}

$order = array('rand()'=>'');

$where = array(array('=','log_Status','0'));

$array = $zbp->GetArticleList(array('*'),$where,$order,array(10),'');

{/php}

{foreach $array as $related}<li><a href="{$related.Url}">{$related.Title}</a></li>{/foreach}

然而这并不是一个好的方法,因为如果你网站的文章数达到一定的数量之后,那么这段代码将直接让你的网站面临崩溃的风险!因为它太占用服务器资源了!这也是为什么ZBlog官方不建议大家使用随机文章模块的一个原因!

而现在有了一个很好的解决方案,我们直接放弃使用上述中的代码,而采用以下的代码来获取随机文章便可:

$count = 10;  //随机文章数量

$articles = $zbp->GetArticleList('*',null,array(mt_rand(0,1)?'log_ViewNums':'log_PostTime'=>mt_rand(0,1)?'DESC':'ASC'),100);//这里的100是获取的文章是数量,可根据你要获取的随机文章数量来决定这个值的大小

shuffle($articles);

$posts = count($articles) > $count ? array_chunk($articles,$count)[0] : $articles;

foreach ($posts as $post){

  echo $post->Title;

}

这段代码的含义就是随机使用文章时间或者文章访问量排序,获取100篇文章,然后打乱再获取。

本文链接:http://78moban.cn/post/3965.html

版权声明:站内所有文章皆来自网络转载,只供模板演示使用,并无任何其它意义!

联系技术
文章删除 友链合作 技术交流群
1050177837
公众号
公众号
公众号
返回顶部