PHP建站技术分享-从入门到精通PHP建站技术分享-从入门到精通PHP建站技术分享-从入门到精通

QQ:420220301 微信/手机:150-3210-7690
当前位置:首页 > CMS教程 > 帝国CMS

在帝国CMS内容页根据TAG标签调用相关文章的代码及方法

管理员 2024-12-15
帝国CMS
5
比如说有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)?>
 
希望以上内容对你有所帮助!如果还有其他问题,请随时提问。 各类知识收集 拥有多年CMS企业建站经验,对 iCMS, Fastadmin, ClassCMS, LeCMS, PbootCMS, PHPCMS, 易优CMS, YzmCMS, 讯睿CMS, 极致CMS, Wordpress, HkCMS, YznCMS, WellCMS, ThinkCMF, 等各类cms的相互转化,程序开发,网站制作,bug修复,程序杀毒,插件定制都可以提供最佳解决方案。

相关推荐

扫码关注

qrcode

QQ交谈

回顶部