TAG相关信息的2种方式

at 2年前  ca 记录笔记  pv 998  by authorhu  

  1. 使用方法  

<?=user_otherlink(15)?>
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;
}
}


2.使用相关信息模板。

<?=user_otherlink(15,0,1)?>
function user_OtherLink($num,$classid=0,$mid=0){
    global $dbtbpre,$empire,$navinfor,$class_r;
    if(empty($navinfor['infotags'])){
        return '暂无相关信息';
    }
    if($mid&&$classid&&$class_r[$classid]['modid']!=$mid){
        return '暂无相关信息';
    }
    $tr=$empire->fetch1("select otherlinktemp,otherlinktempsub,otherlinktempdate from ".GetTemptb("enewspubtemp")." limit 1");

    $temp_r=explode("[!--empirenews.listtemp--]",$tr['otherlinktemp']);
    $str='';
    $tagsql=$empire->query("select * from {$dbtbpre}enewstagsdata where id='$navinfor[id]' and classid='$navinfor[classid]'");
    $i=0;
    $isprint=array();
    while($tagr=$empire->fetch($tagsql)){
        if($i>=$num){
            break;
        }
        $gsql=$empire->query("select * from {$dbtbpre}enewstagsdata where tagid='$tagr[tagid]'");
        while($gr=$empire->fetch($gsql)){
            $myprint='id'.$gr['id'].'class'.$gr['classid'];
            if(array_search($myprint,$isprint)!==false){
                continue;
            }
            $isprint[]=$myprint;
            if($classid&&$classid!=$gr['classid']){
                continue;
            }
            if($mid&&$mid!=$gr['mid']){
                continue;
            }
            if($gr['id']==$navinfor['id']&&$gr['classid']==$navinfor['classid']){
                continue;
            }
            $tbname=$class_r[$gr['classid']]['tbname'];
            if(!$tbname||InfoIsInTable($tbname)){
                continue;
            }
            $r=$empire->fetch1("select * from {$dbtbpre}ecms_".$tbname." where id='$gr[id]' limit 1");
            if(!$r['id']){
                continue;
            }
            $str.=RepOtherTemp($temp_r[1],$r,$tr);
            $i+=1;
            if($i>=$num){
                break;
            }
        }
    }
    $keyboardtext=$temp_r[0].$str.$temp_r[2];
    if($str){
        return $keyboardtext;
    }else{
        return '暂无相关信息';
    }
}


版权声明

本文仅代表作者观点,未经许可,不得转载。

分享:

支付宝

微信