帝国论坛帝国网站管理系统交流区帝国CMS使用交流[分享]用关键词批量替换TAGS的最佳方法(新增批量复制TAG到关键词) 【本版专题贴子】  
 3/4    |‹ ‹‹ 1 2 3 4 ›› ›|
主题:[分享]用关键词批量替换TAGS的最佳方法(新增批量复制TAG到关键词) [加入收藏夹]   

凯越信息
用户头衔:书生

精华贴   :0
发贴数   :18
经验值   :52
注册时间:2012-02-09
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 21 楼]

支持



凯越信息服务QQ1751714079 凯越信息www.zl135.com
2012-02-11 20:43:54 已设置保密 顶部 回复 引用 报告 编辑 删除

gay5522
用户头衔:书生

精华贴   :0
发贴数   :31
经验值   :101
注册时间:2014-03-04
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 22 楼]

留个标记.下回记得用上了.~~~



一种人,一种人生63影视
2014-04-12 19:10:28 已设置保密 顶部 回复 引用 报告 编辑 删除

何时再相见
用户头衔:举人

精华贴   :0
发贴数   :63
经验值   :908
注册时间:2009-02-28
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 23 楼]

这个可以用在7.0版本上的吗




2015-03-21 10:45:12 已设置保密 顶部 回复 引用 报告 编辑 删除

d2sj
用户头衔:举人

精华贴   :0
发贴数   :291
经验值   :1293
注册时间:2010-01-13
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 24 楼]

关键词批量复制到TAG中这个SQL 语句实行出错,怎么办?




2015-04-21 16:17:20 已设置保密 顶部 回复 引用 报告 编辑 删除

caopeiwei
用户头衔:举人

精华贴   :0
发贴数   :299
经验值   :1350
注册时间:2009-01-26
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 25 楼]

7.2 好像已经不能用了




2015-05-31 16:36:50 已设置保密 顶部 回复 引用 报告 编辑 删除

caopeiwei
用户头衔:举人

精华贴   :0
发贴数   :299
经验值   :1350
注册时间:2009-01-26
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 26 楼]

数据表里面没infotags这个字段




2015-05-31 16:44:15 已设置保密 顶部 回复 引用 报告 编辑 删除

crx349
用户头衔:举人

精华贴   :0
发贴数   :208
经验值   :738
注册时间:2008-12-13
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 27 楼]

精品教材



帝国建站咨询 QQ 842062626 无限星辰工作室
服务 帝国建站|搬家|运维|Win Linux网站环境(lanmp)架设优化|服务器安全维护
2015-06-01 13:19:49 已设置保密 顶部 回复 引用 报告 编辑 删除

bj114
用户头衔:探花

精华贴   :0
发贴数   :2807
经验值   :7816
注册时间:2012-04-09
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 28 楼]

7.0以上infotags表好像在副表




2015-06-01 17:38:14 已设置保密 顶部 回复 引用 报告 编辑 删除

lion0512
用户头衔:举人

精华贴   :0
发贴数   :224
经验值   :821
注册时间:2008-03-16
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 29 楼]

感谢楼主 chongeryan ,感谢龙族,今天又一次需要用到这个功能,现在是7.2版的,遇到一点困难,后来自己琢磨解决了,也发上来,不要忘了共享精神。由于不懂代码,可能不是很精简或通用,请指正。

按楼主的方法,修改下面的文件:
Ecmsinfo.php
Listinfo.php
alllistinfo.php
Userfun.php

但7.2版userfun.php要改的部分有一点不一样,因为7.2把keyboard和infotags放在2个表里(ecms_news和ecms_news_data_1),所以需要从用到2个表,2楼的B步骤可以改为:

//批量复制TAGS到关键词
function eCopyTag2Key($classid,$id,$newstime){
        global $empire,$dbtbpre,$class_r;
    $count = count($id); //统计ID数量
    if (empty($count))
    {//如果id没选中
        printerror("未选择信息ID", "", 1, 0, 1);
    }
    $classid=(int)$classid;//这一步可省略
    $id[$i] = (int)$id[$i];
    $mid=(int)$class_r[$classid][modid];//取modid值,这一步可省略
        for($i=0;$i<$count;$i++)
        {
                $tbname1=$class_r[$classid][tbname];//获取表名
           $tbname2=$tbname1."_data_1";//获取ecms_news_data_1
        $t = $empire->fetch1("select {$dbtbpre}ecms_".$tbname2.".infotags,{$dbtbpre}ecms_".$tbname1.".keyboard from {$dbtbpre}ecms_".$tbname2.",{$dbtbpre}ecms_".$tbname1." where  {$dbtbpre}ecms_".$tbname2.".id='$id[$i]' and {$dbtbpre}ecms_".$tbname1.".id='$id[$i]'");//从信息表中取infotags和keyboard值
                //echo "$t['keyboard']";
        $taga=$t['infotags'].",".$t['keyboard']; //组合TAGS:在原有的infotags值上加上新keyboard
        $tagb[$i] = explode(",",$taga); //设置数组:用,分割tag
        $tagc=array_values(array_unique($tagb[$i])); //数组排重:排除重复?
        for($t=0;$t<count($tagb[$i]);$t++)
        {//二级子循环TAGS数组输出
            $newtags[$i].= ",".$tagc[$t];
        }
        $empire->query("update {$dbtbpre}ecms_".$tbname1." set keyboard='".trim($newtags[$i],",")."' where id='$id[$i]'");//将新生成的keyboard写入到表中

        }
    printerror("已成功将TAGS批量复制到关键词字段", "", 1, 0, 1);
}




2017-02-25 19:16:15 已设置保密 顶部 回复 引用 报告 编辑 删除

59966
用户头衔:探花

精华贴   :0
发贴数   :8493
经验值   :21585
注册时间:2008-11-17
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 30 楼]

支持下




2017-02-26 08:33:58 已设置保密 顶部 回复 引用 报告 编辑 删除
 3/4    |‹ ‹‹ 1 2 3 4 ›› ›|

快速回复
内容

表情
使用EBB代码 使用smile代码 显示签名 自动分析url 自动分析img
     【进入高级模式】   (按 Ctrl+Enter 直接提交)
    顶部  加入收藏夹
关于帝国 | 广告服务 | 联系我们 | 法律声明 | 隐私条款 | 许可协议
Powered by: EBB Version 2.2.1