你好,欢迎访问我的博客!登录 VIP视频 领券购物 免责声明 投稿本站 本站主题
当前位置:首页 - 博客 - zblog教程 - 正文 君子好学,自强不息!

关于zblog主题使用随机的一个小方法

2017-01-23zblog教程墨初1732°c
A+ A-

zblog博客已经全面禁止利有rand()函数进行数据库数据的提取,具体可以查看zblog论坛的《关于全面禁止直接在数据库内使用rand()进行随机读取的公告》这个帖子。不让使用rand()原因就是,rand()不支持mysql以外的数据库,在数据库数据比较多的情况下速度会变得很慢。

在给主题做随机模块的时候就采用了一个迂回的方法,来达到一个随机文章的效果。具体方法记录一下,以备后用。

方法原理:

1、先从数据库中提出一部份数据,加入数组中

2、随机抽取数组中的数据,并显示

代码:

function mochu_rand($num){
global $zbp,$str,$order;$i;
    $i = $num;
    $str = '';
    $arr = array();
    $arand = array();
    $order = array('log_ViewNums'=>'ASC');
    $where = array(array('=','log_Status','0'));
    $array = $zbp->GetArticleList(array('*'),$where,$order,array(20),'');
$arr = array_rand($array,$i);
for($j=0;$j<$i;$j++)
{
$arand[]=$array[$arr[$j]];
}
    foreach ($arand as $related) {
        $str .= "<li><a href=\"{$related->Url}\" title=\"{$related->Title}\" target=\"_blank\">{$related->Title}</a></li>";
    }
    return $str;
}

代码中,使用的PHP中的array_rand()函数,用随机获取数组的键名,并不是数据。

代码不是很完美,如果你想使用,还请自己修改一下。

  选择打赏方式
微信赞助

打赏

QQ钱包

打赏

支付宝赞助

打赏

  选择分享方式
  移步手机端
QR:  关于zblog主题使用随机的一个小方法

1、打开你手机的二维码扫描APP
2、扫描左则的二维码
3、点击扫描获得的网址
4、可以在手机端阅读此文章
标签:

发表评论

必填

选填

选填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。


枫叶
1楼  枫叶 @Ta
时间:2017-10-07 15:55:53

你主题跟我主题好像

  登录