建站过程中,为了SEO优化不得不在内容页加入一些随机信息显示,以便于搜索引擎的抓取,但是数据量大了后,用rand随机会超级慢,怎么办呢?以下是一种思路
1、在userfun.php中添加自定义函数:
function zhann_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 = zhann_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
}
?>
注意:把表名换成自己对应的表。
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 模板不会安装或需要功能定制以及二次开发?
发表评论