加入收藏 | 设为首页 | 会员中心 | 我要投稿 通化站长网 (https://www.0435zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > 建站资源 > 经验 > 正文

帝国CMS内容页依据TAG匹配相关文章列表代码

发布时间:2022-04-30 11:24:27 所属栏目:经验 来源:互联网
导读:功能: 比如说有3个TAG,每个TAG下有4篇文章,现在指定要显示10篇文章,那么每个TAG要拿出4篇,共有12篇文章,最终会打乱这12篇文章,然后取10篇 3个TAG,每个TAG下有3篇文章,现在指定要显示10篇文章,那么每个TAG要拿出3篇文章,共有9篇文章 3个TAG,A有2
           功能:
 
           比如说有3个TAG,每个TAG下有4篇文章,现在指定要显示10篇文章,那么每个TAG要拿出4篇,共有12篇文章,最终会打乱这12篇文章,然后取10篇
           3个TAG,每个TAG下有3篇文章,现在指定要显示10篇文章,那么每个TAG要拿出3篇文章,共有9篇文章
           3个TAG,A有2篇文章,B有5篇文章,C有3篇文章,现在要显示10篇文章,那么A拿出2篇文章,B拿出5篇文章,C拿出3篇文章,共有10篇文章
           如果 A、B、C中除了当前文章,还有相同的文章,那么会扣除重复的那篇文章,只取一次。所以指定的数量会有偏差
  
以下代码放到/e/class/userfun.php里!
 
<?phpfunction user_otherlink($limit=5){ global $dbtbpre,$empire,$navinfor,$class_r;    if($navinfor[infotags]){     $classid=(int)$classid;        $limit=(int)$limit;        $tbname=$class_r[$navinfor[classid]][tbname];        $tagarr=explode(",",$navinfor[infotags]);        $arr=array();        $num=ceil($limit/count($tagarr));        foreach($tagarr as $k=>$v){ if(count($tagarr)==$k+1){ $num=$limit-count($arr); }else{ if($i<$num){ $num=ceil(($limit-count($arr))/count($tagarr)); } }            $t=$empire->fetch1("select tagid,num from {$dbtbpre}enewstags where tagname='$v'"); if($t[tagid]){ $sql=$empire->query("select id from {$dbtbpre}enewstagsdata where tagid=$t[tagid]"); $i=0; while($s=$empire->fetch($sql)){ if(in_array($s[id],$arr)||$s[id]==$navinfor[id]){ continue; }else{ $arr[]=$s[id]; $i++; } if($i==$num){ break; } if(count($arr)==$limit){ break 2; } } if($t[num]>$num){ $linshi=$t[tagid]; } }         }        if(count($arr)>0){ $inid=implode(",",$arr); if(count($arr)<$limit&&$linshi){ $sql=$empire->query("select id from {$dbtbpre}enewstagsdata where tagid=$linshi and id not in($inid)"); while($s=$empire->fetch($sql)){ $arr[]=$s[id]; if(count($arr)==$limit){ break; } } } $inid=implode(",",$arr); $str=""; $news=$empire->query("select id,title,titleurl,titlepic from {$dbtbpre}ecms_{$tbname} where id in($inid)"); while($n=$empire->fetch($news)){ $str.='<li><a href="'.$n[titleurl].'">'.$n[title].'</a></li>'; } }        return $str;    }}?>
内容页用以下代码调用:5为显示数量 自己改
 
<?=user_otherlink(5)?>

(编辑:通化站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!