-->

您现在的位置: 首页 > 教程文档 > 常见问题 >

织梦dedecms联动类别-地区调用不显示第三级城市的原因

来源:未知 发布时间:2017-11-23热度:
织梦联动类别-地区调用不显示第三级城市的原因 原因: 1.附加表addoninfos中的字段nativeplace类型为int型,无法保存第三级城市对应的的evalue值(比如: 东山区对应的10001.001) 2. 表sys_enum中的第三级城市对应evalue值错误(比如:东山区 10001.1 应该为...

织梦联动类别-地区调用不显示第三级城市的原因

原因:
1.附加表addoninfos中的字段nativeplace类型为int型,无法保存第三级城市对应的的evalue值(比如: 东山区  对应的  10001.001)
2. 表sys_enum中的第三级城市对应evalue值错误(比如:东山区 10001.1 应该为 东山区 10001.001)

解决方法:
1.修改该字段类型为char型:
后台 SQL运行工具里执行下面的语句
alter table `addoninfos` modify column nativeplace char(20);

2.修改表sys_enum所有第三级城市对应的 evalue值
----------------代码-------------------------------------------------------------------
<?php
require_once(dirname(__FILE__)."/../include/common.inc.php");
$dsql->SetQuery("select id,evalue from `sys_enum` where egroup='nativeplace'");
$dsql->Execute();
while($row = $dsql->GetArray())
{
    $res[]= $row;
}
$r = 0;
foreach ($res as $k=>$v)
{
    if (preg_match("#([0-9]{1,})\.([0-9]{1,})#", $v['evalue'], $matchs))
    {
        $valKey = $matchs[1] + $matchs[2] / 1000;
        $v['evalue'] = $valKey;
        $sql ="update `sys_enum` set evalue=".$v['evalue'] ." where id=".$v['id'];
        $r += $dsql->ExecuteNoneQuery2($sql);
    }
}
echo "sql执行成功 修改了".$r."条记录";
?>
-----------------------------------------------------------------------------------------------------------------
新建一个.php文件,复制以上代码在网站目录下执行即可

3.修改成功后,在后台 联动类别管理 中 更新一下缓存

责任编辑:好织梦

温馨提示

大家好,由于业务调整,本站的会员及支付购买等功能不能使用,本站织梦会员可以移步织梦58(http://www.dede58.com/)继续使用

其他建站朋友强烈推荐优秀的建站系统(易优CMS),建站简单、安全、易用,更有丰富的插件扩展!

如有其他问题可以联系客服(QQ:970003436)沟通,谢谢大家支持!!

关注易优CMS公众号,获取更多建站资讯