帝国CMS内容页根据TAG匹配相关文章列表代码分享!

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

功能:

比如说有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里!

 <?php function 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)?>

 

—-想了解帝国CMS内容页根据TAG匹配相关文章列表代码分享!且更多的模板cms网站教程关注<计算机技术网(www.ctvol.com)!!>

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/ictteaching/460325.html

(0)
上一篇 2020年10月22日
下一篇 2020年10月22日

精彩推荐