pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

帝國CMS跨表查詢相關(guān)鏈接實現(xiàn)方法

這篇文章主要為大家介紹了帝國CMS跨表查詢相關(guān)鏈接實現(xiàn)方法,通過一個自定義函數(shù)實現(xiàn)了跨表查詢相關(guān)鏈接的方法,是帝國CMS二次開發(fā)中非常實用的技巧,需要的朋友可以參考下

本文實例講述了帝國CMS跨表查詢相關(guān)鏈接實現(xiàn)方法。分享給大家供大家參考。具體分析如下:

官方的相關(guān)鏈接不靈活,樣式不能任意的修改且無法跨表,很多人想跨表做相關(guān)鏈接,比如news和info都有幾篇文章,關(guān)鍵詞都有'北京',那么如何調(diào)用這些有有同一關(guān)鍵詞的文章呢?為此寫了一個自定義函數(shù).

小范圍的調(diào)用于本分類,稍大一點范圍可以調(diào)用同一表的文章,再大一點可以調(diào)用指定的表的文章,可以選要調(diào)用文章的數(shù)量,其實還可以升級,比如指定調(diào)用某個表的文章數(shù)量,那個表的順序等,函數(shù)沒有樣式,稍微懂一點代碼的可以自行修改,其實不是特別難,如果有哪位升級了這個函數(shù),可以共享給大家.

復制代碼
代碼如下:
<?php
function user_OtherLink($tbname,$num,$ck){
global $navinfor,$empire,$dbtbpre,$class_r ;
$ck=(int)$ck ;
if($ck==1||$ck==2){
$tbname=$class_r[$navinfor['classid']]['tbname'] ;
}
$num= $num=='' ? 5 : $num ; //缺省獲取數(shù)量為5
$tag_all=explode(',',$navinfor['infotags']);
$tbname_num=explode(',',$tbname) ;
$eq_num=ceil($num/count($tag_all));
for($i=0;$i<count($tag_all);$i++){
$r_1_1 =$empire->fetch1("select tagid,tagname,num,isgood,cid from {$dbtbpre}enewstags where tagname='".$tag_all[$i]."' order by tagid limit 1") ;
$tag_id[$i]=$r_1_1['tagid'] ; //tag的ID
$tag_num[$i]=$r_1_1['num'] ; //tag下的文章數(shù)量
if($tag_num[$i]>=$eq_num){//如果TAG下的文章數(shù)量比平均的數(shù)量大或者等于,那么TAG的文章數(shù)量取平均值
$tag_num[$i] = $eq_num ;//重新賦值
}else{//如果TAG下的文章小于平均值,那么TAG取原有的文章數(shù)量。同時重新賦值平均值。
$eg_tag= $eq_num-$tag_num[$i] ;
$eq_num += $eg_tag ;
}
//比如說有3個TAG,每個TAG下有4篇文章,現(xiàn)在指定要顯示10篇文章,那么每個TAG要拿出4篇,共有12篇文章
//3個TAG,每個TAG下有3篇文章,現(xiàn)在指定要顯示10篇文章,那么每個TAG要拿出3篇文章,共有9篇文章
//3個TAG,A有2篇文章,B有5篇文章,C有3篇文章,現(xiàn)在要顯示10篇文章,那么A拿出2篇文章,B拿出5篇文章,C拿出3篇文章,共有10篇文章
//如果 A、B、C中除了當前文章,還有相同的文章,那么會扣除重復的那篇文章,只取一次。所以指定的數(shù)量會有偏差
for($i_n=0;$i_n<count($tbname_num);$i_n++){

$sql=$empire->query("select tid,classid,id,mid from {$dbtbpre}enewstagsdata where tagid='".$tag_id[$i]."' order by classid ");
$ri=1 ;
while($r=$empire->fetch($sql))
{
$tbname_all[$r['tid']]=$class_r[$r['classid']]['tbname'] ;
if($tbname_all[$r['tid']]==$tbname_num[$i_n] && $ri <= $tag_num[$i] && $navinfor['classid']!=$r['classid'] && $navinfor['id']!=$r['id']){
if($ck==1&&$navinfor['classid']==$r['classid']){

$tbname_all_r[$r['tid']]=$class_r[$r['classid']]['tbname'] ;
$classid_id[$r['tid']]=$r['classid'] . '_' . $r['id'] ;
$classid_all[$r['tid']]=$r['classid'] ;
$id_all[$r['tid']][$r['classid']]=$r['id'] ;

}elseif($ck==2&&$class_r[$navinfor['classid']]['tbname']==$class_r[$r['classid']]['tbname']){

$tbname_all_r[$r['tid']]=$class_r[$r['classid']]['tbname'] ;
$classid_id[$r['tid']]=$r['classid'] . '_' . $r['id'] ;
$classid_all[$r['tid']]=$r['classid'] ;
$id_all[$r['tid']][$r['classid']]=$r['id'] ;

}elseif($ck==3){

$tbname_all_r[$r['tid']]=$class_r[$r['classid']]['tbname'] ;
$classid_id[$r['tid']]=$r['classid'] . '_' . $r['id'] ;
$classid_all[$r['tid']]=$r['classid'] ;
$id_all[$r['tid']][$r['classid']]=$r['id'] ;

}
$ri++;
}
}
}
}
$classid_id_x=array_unique($classid_id);//去除重復的值
//去除重復的值,不同的TAG會有相同的文章。所以去除重復的值。比如A篇文章里面都有"北京","奧運",兩個關(guān)鍵詞,B篇文章里面也有"北京","奧運"在不去除重復的情況下,A篇的相關(guān)鏈接會出現(xiàn)兩次B文章。所以必須去除其中一個。
arsort($classid_id_x); //按鍵名排列,倒序
$tid_tid=array_keys($classid_id_x) ;//取出鍵名重新排列,鍵名即為TAG的ID:tid
shuffle($tid_tid);//順序打亂,重新排
$tid_tid_num=count($tid_tid) ;
if($num<$tid_tid_num) $tid_tid_num=$num+1 ;//由于去除了本文章,所以再加一條彌補
for($i_tid=0;$i_tid<$tid_tid_num;$i_tid++){
$tid=$tid_tid[$i_tid];
$classid=$classid_all[$tid];
$id=$id_all[$tid][$classid];
if($id==$navinfor['id']) continue ; //如果是本文章,相關(guān)鏈接里面就不用再放了。
$tbname=$tbname_all_r[$tid];
$r_1_2 =$empire->fetch1("select title,smalltext,titleurl,dp_jt,dp_dwz from {$dbtbpre}ecms_$tbname where id='".$id."' order by newstime limit 1") ;

////////顯示樣式在這修改
echo $r_1_2['title'].' ' ;
////////
}
}
?>
/**
<?php
OtherLink('news,info',7,3) ;
?>
**/

希望本文所述對大家的帝國CMS建站有所幫助。

【網(wǎng)站聲明】本站除付費源碼經(jīng)過測試外,其他素材未做測試,不保證完整性,網(wǎng)站上部分源碼僅限學習交流,請勿用于商業(yè)用途。如損害你的權(quán)益請聯(lián)系客服QQ:2655101040 給予處理,謝謝支持。

相關(guān)文檔推薦

這篇文章主要介紹了ThinkPHP實現(xiàn)轉(zhuǎn)換數(shù)據(jù)庫查詢結(jié)果數(shù)據(jù)到對應(yīng)類型的方法,涉及thinkPHP模型類操作及針對源碼文件的相關(guān)修改方法,需要的朋友可以參考下
下面小編就為大家?guī)硪黄肞HP訪問數(shù)據(jù)庫_實現(xiàn)分頁功能與多條件查詢功能的示例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
這篇文章主要介紹了thinkPHP多表查詢及分頁功能實現(xiàn)方法,結(jié)合具體實例形式分析了thinkPHP多表查詢以及查詢結(jié)果的分頁顯示相關(guān)實現(xiàn)技巧,需要的朋友可以參考下
這篇文章主要介紹了Yii框架參數(shù)化查詢中IN查詢只能查詢一個的解決方法,結(jié)合實例形式分析了Yii框架中IN查詢只能查一個的原因及FIND_IN_SET函數(shù)相關(guān)功能與使用技巧,需要的朋友可以參考下
這篇文章主要介紹了php實現(xiàn)查詢功能,數(shù)據(jù)進行訪問,具有一定的參考價值,感興趣的小伙伴們可以參考一下
這篇文章主要介紹了php+mysql+ajax實現(xiàn)單表多字段多關(guān)鍵詞查詢的方法,涉及php基于ajax的數(shù)據(jù)庫查詢、表格操作等相關(guān)技巧,需要的朋友可以參考下
主站蜘蛛池模板: 重庆磨床过滤机,重庆纸带过滤机,机床伸缩钣金,重庆机床钣金护罩-重庆达鸿兴精密机械制造有限公司 | AR开发公司_AR增强现实_AR工业_AR巡检|上海集英科技 | 护腰带生产厂家_磁石_医用_热压护腰_登山护膝_背姿矫正带_保健护具_医疗护具-衡水港盛 | 卫生型双针压力表-高温防腐差压表-安徽康泰电气有限公司 | 风电变桨伺服驱动器-风电偏航变桨系统-深圳众城卓越科技有限公司 | 瓶盖扭矩测试仪-瓶盖扭力仪-全自动扭矩仪-济南三泉中石单品站 | 粘度计维修,在线粘度计,二手博勒飞粘度计维修|收购-天津市祥睿科技有限公司 | 天津中都白癜风医院_天津白癜风医院_天津治疗白癜风 | 济宁工业提升门|济宁电动防火门|济宁快速堆积门-济宁市统一电动门有限公司 | LED显示屏_LED屏方案设计精准报价专业安装丨四川诺显科技 | 挨踢网-大家的导航! | LED太阳能中国结|发光红灯笼|灯杆造型灯|节日灯|太阳能灯笼|LED路灯杆装饰造型灯-北京中海轩光电 | 聚合氯化铝-碱式氯化铝-聚合硫酸铁-聚氯化铝铁生产厂家多少钱一吨-聚丙烯酰胺价格_河南浩博净水材料有限公司 | 威海防火彩钢板,威海岩棉复合板,威海彩钢瓦-文登区九龙岩棉复合板厂 | 捷码低代码平台 - 3D数字孪生_大数据可视化开发平台「免费体验」 | 东莞市海宝机械有限公司-不锈钢分选机-硅胶橡胶-生活垃圾-涡电流-静电-金属-矿石分选机 | 假肢-假肢价格-假肢厂家-河南假肢-郑州市力康假肢矫形器有限公司 | 镀锌方管,无缝方管,伸缩套管,方矩管_山东重鑫致胜金属制品有限公司 | 牛皮纸|牛卡纸|进口牛皮纸|食品级牛皮纸|牛皮纸厂家-伽立实业 | 欧盟ce检测认证_reach检测报告_第三方检测中心-深圳市威腾检验技术有限公司 | 北京公司注册_代理记账_代办商标注册工商执照-企力宝 | CTP磁天平|小电容测量仪|阴阳极极化_双液系沸点测定仪|dsj电渗实验装置-南京桑力电子设备厂 | 儿童乐园|游乐场|淘气堡招商加盟|室内儿童游乐园配套设备|生产厂家|开心哈乐儿童乐园 | 西安中国国际旅行社(西安国旅)| 仿真茅草_人造茅草瓦价格_仿真茅草厂家_仿真茅草供应-深圳市科佰工贸有限公司 | 扒渣机厂家_扒渣机价格_矿用扒渣机_铣挖机_撬毛台车_襄阳永力通扒渣机公司 | 喷码机,激光喷码打码机,鸡蛋打码机,手持打码机,自动喷码机,一物一码防伪溯源-恒欣瑞达有限公司 | 密集架-手摇-智能-移动-价格_内蒙古档案密集架生产厂家 | 常州减速机_减速机厂家_常州市减速机厂有限公司 | BAUER减速机|ROSSI-MERSEN熔断器-APTECH调压阀-上海爱泽工业设备有限公司 | 盛源真空泵|空压机-浙江盛源空压机制造有限公司-【盛源官网】 | 济南菜鸟驿站广告|青岛快递车车体|社区媒体-抖音|墙体广告-山东揽胜广告传媒有限公司 | 冷却塔厂家_冷却塔维修_冷却塔改造_凉水塔配件填料公司- 广东康明节能空调有限公司 | 成都网站建设制作_高端网站设计公司「做网站送优化推广」 | 报警器_家用防盗报警器_烟雾报警器_燃气报警器_防盗报警系统厂家-深圳市刻锐智能科技有限公司 | POS机办理_个人POS机免费领取 - 银联POS机申请首页 | 泰国专线_泰国物流专线_广州到泰国物流公司-泰廊曼国际 | 德州网站开发定制-小程序开发制作-APP软件开发-「两山开发」 | 集菌仪厂家_全封闭_封闭式_智能智能集菌仪厂家-上海郓曹 | 环讯传媒,永康网络公司,永康网站建设,永康小程序开发制作,永康网站制作,武义网页设计,金华地区网站SEO优化推广 - 永康市环讯电子商务有限公司 | 东莞喷砂机-喷砂机-喷砂机配件-喷砂器材-喷砂加工-东莞市协帆喷砂机械设备有限公司 |