电脑维修网
当前位置:电脑维修网 >操作系统 > 网站编程代码 >dede5.7封面不显示副栏目

dede5.7封面不显示副栏目

2012-09-18 08:47 | 作者:电脑维护 | 来源:电脑互助网 | 参与评论 | 点击:2624次
百度查了一下全是一样的,如果说让我明白一点的就是知道是在织梦5.7封面显示副栏目是在那个文件里修改了,也就这点用处。
好了不说废话了,字太少百度不收录的。大家理解一下。
上代码不解释:
if($CrossID=='')$orwheres[] = ' arc.typeid IN ('.GetSonIds($typeid).') or FIND_IN_SET('.GetSonIds($typeid).',arc.typeid2)';
else $orwheres[] = 'arc.typeid IN ('.GetSonIds($typeid).','.$CrossID.')or FIND_IN_SET('.GetSonIds($typeid).',arc.typeid2)';

此文件所在位置:
/include/taglib/arclist.lib.php
修改原代码:
if($CrossID=='') $orwheres[] = ' arc.typeid IN ('.GetSonIds($typeid).')';
else $orwheres[] = ' arc.typeid IN ('.GetSonIds($typeid).','.$CrossID.')';

以上是原代码修改成:
if($CrossID=='')$orwheres[] = ' arc.typeid IN ('.GetSonIds($typeid).') or FIND_IN_SET('.GetSonIds($typeid).',arc.typeid2)';
else $orwheres[] = 'arc.typeid IN ('.GetSonIds($typeid).','.$CrossID.')or FIND_IN_SET('.GetSonIds($typeid).',arc.typeid2)';

代码说明:
arc.typeid IN ('.GetSonIds($typeid).')查询dede_arctiny表中的typeid字段,如果是有.GetSonIds($typeid).的就查询并返回去。这里没有typeid2所以在这里就要加上 or FIND_IN_SET('.GetSonIds($typeid).',arc.typeid2)'
意思就是查询typeid2字段中如果包含了.GetSonIds($typeid).此数字的话也返回。但是这样一设置封面的推荐什么的都不显示了,所以只能用模糊查询

说明:
mysql中如果用like模糊查询的话,也是可以的。不过可能不是很准。
代码如下:
if($CrossID=='')$orwheres[] = " (arc.typeid in (".GetSonIds($typeid).") or arc.typeid2 in(".GetSonIds($typeid).") or CONCAT( ',', arc.typeid2, ',' ) LIKE '%,".$typeid.",%' )";
else $orwheres[] = " (arc.typeid in (".GetSonIds($typeid).",".$CrossID.") or arc.typeid2 in (".GetSonIds($typeid).",".$CrossID.") or CONCAT( ',', arc.typeid2, ',' ) LIKE '%,".$typeid.",%')";
这个代码已经试过了,很好。

一般SQL是可以支持CHARINDEX函数的。不过可惜的是Mysql不支持这个函数所以只能用以上方法或者like模糊查询了。如果你有更好的方法的话。除外,我只知道这两种就先发出来了。

原创很不容易呀!如果你要转载的话就把连接一起转了,不浪费你时间滴,电脑互助网中的电脑维护原创,如果你需要转发请保留连接;
转载时请注明:转载自《电脑维修技术网》原文地址:http://www.pc811.com/6/4/25022.html
凡文章内未标注来源均为原创文章!恭候您的意见
------分隔线----------------------------

最新评论
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
友情连接版权声明广告合作联系我们意见投诉网站地图百度地图谷歌地图
敬告:本站所有信息都为网友发布,及网络收集而来,我们只对信息的合法性进行审核 请朋友们自行鉴别真实性。