帝国论坛帝国网站管理系统交流区模板/标签/插件共享交流[已解决]7.2信息管理列表页批量添加TAGS 【本版专题贴子】  
 1/3     1 2 3 ›› ›|
主题:[已解决]7.2信息管理列表页批量添加TAGS [加入收藏夹]   

wzm4657
用户头衔:书生

精华贴   :0
发贴数   :4
经验值   :24
注册时间:2017-03-12
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 1 楼]
[已解决]7.2信息管理列表页批量添加TAGS
[原创]7.2信息管理列表页批量添加TAGS
参考  6.6信息管理列表页批量添加TAGS 基础上修改
第一次发原创代码贴,请高手多多指点,谢谢




A、以下代码加入到admin/ecmsinfo.php 在任意2个elseif中间插入就行

elseif($enews=="AddTags_all")//列表批量添加Tags
{
        $classid=$_POST['classid'];
        $id=$_POST['id'];
        $tags=$_POST['add_listtags'];
    $newstime=time();   
    eInsertTags2($tags,$classid,$id,$newstime);
}




B、将以下代码加入到class/uesrfun.php
<?php
//---------------------------用户自定义标签函数文件

/**
{$dbtbpre}ecms_".$tbname."_data_1  从信息分表。
这块,请高手 修正,如何得到分表。

**/
//加入TAG表
function eInsertTags2($tags,$classid,$id,$newstime){
        global $empire,$dbtbpre,$class_r;
    $tags = RepPostVar($tags);
    //$tag = explode(",", $tags);
    $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++)
        {
                $tbname=$class_r[$classid][tbname];//获取表名  
        $t = $empire->fetch1("select infotags from  {$dbtbpre}ecms_".$tbname."_data_1 where id='$id[$i]'");//从信息表中取infotags值
        $taga=$t['infotags'].",".$tags; //组合TAGS:在原有的infotags值上加上新tag
        $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];
                $r=$empire->fetch1("select tagid from {$dbtbpre}enewstags where tagname='$tagc[$t]' limit 1");//查询有无同名的tag
                if($r[tagid])
                {//如果有tagid,即enewstags表中有相同tag
                        $datar=$empire->fetch1("select tagid,classid,newstime from {$dbtbpre}enewstagsdata where tagid='$r[tagid]' and id='$id[$i]' and mid='$mid' limit 1");//用tagid,id和mid对enewstagsdata进行查询
                        if($datar[tagid])
                        {//如果有数据
                                if($datar[classid]!=$classid||$datar[newstime]!=$newstime)
                                {//如果classid和newstime不相同
                                        $empire->query("update {$dbtbpre}enewstagsdata set classid='$classid',newstime='$newstime' where tagid='$r[tagid]' and id='$id[$i]' and mid='$mid' limit 1");//则开始更新
                                }
                        }
                        else
                        {//查询后没有此数据,则先更新enewstags表,在数量上加1   
                                $empire->query("update {$dbtbpre}enewstags set num=num+1 where tagid='$r[tagid]'");
                $empire->query("update  {$dbtbpre}ecms_".$tbname."_data_1  set infotags='".trim($newtags[$i],",")."' where id='$id[$i]'");//然后在信息表infotags字段中加上这个新tag,如果按舍得的方法,这一步就可以免了
                                $empire->query("insert into {$dbtbpre}enewstagsdata(tagid,classid,id,newstime,mid) values('$r[tagid]','$classid','$id[$i]','$newstime','$mid');");//然后在enewstagsdata表中插入这些数据
                        }
                }
                else
                {//如果没有此tag  //{$dbtbpre}ecms_".$tbname."
                        $empire->query("update  {$dbtbpre}ecms_".$tbname."_data_1 set infotags='".trim($newtags[$i],",")."' where id='$id[$i]'");//先在信息表中加上此tag,如果按舍得的方法,这一步就可以免了
            $empire->query("insert into {$dbtbpre}enewstags(tagname,num,isgood,cid) values('$tagc[$t]',1,0,0);");//在enewstags表中插入新值
                        $tagid=$empire->lastid();//把这个tagid给取出来
                        $empire->query("insert into {$dbtbpre}enewstagsdata(tagid,classid,id,newstime,mid) values('$tagid','$classid','$id[$i]','$newstime','$mid');");//既然是没有tagid的,那就在enewstagsdata也得插入新值(不用再查询)
                }            
        }

        }
    printerror("批量添加TAGS成功", "", 1, 0, 1);
}
?>


C、信息管理列表模板最后一列修改成以下代码 e/data/html/list/文件夹内

  <tr bgcolor="#FFFFFF">

      <td height="25" colspan="8" align="right">
          
          <input type="text" name="add_listtags" id="add_listtags" size="50" value="" />

                         <input type="button" name="Submit" value="选择" onclick="window.open('tags/ChangeTags.php?form=listform&field=add_listtags<?=$ecms_hashur['ehref']?>','','width=700,height=550,scrollbars=yes');">
            <input type="submit" name="Submit100" value="批量添加TAGS" onClick="document.listform.enews.value='AddTags_all';document.listform.action='ecmsinfo.php';">
       
                          <font color="#666666">备注:多选框蓝色为未审核信息;发布者红色为会员投稿;信息ID粗体为未生成,点击ID可刷新页面.</font>
                          </td>
    </tr>

[img]http://bbs.phome.net/ebb_data/tran/2017-03/1490530206.png[/img]

2017-03-26 20:22:32 已设置保密 顶部 回复 引用 报告 编辑 删除

wzm4657
用户头衔:书生

精华贴   :0
发贴数   :4
经验值   :24
注册时间:2017-03-12
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 2 楼]
上图




2017-03-26 20:23:25 已设置保密 顶部 回复 引用 报告 编辑 删除

点到为止
用户头衔:探花

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

支持一下




2017-03-27 07:52:30 已设置保密 顶部 回复 引用 报告 编辑 删除

rerere
用户头衔:探花

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

支持




2017-03-28 08:08:28 已设置保密 顶部 回复 引用 报告 编辑 删除

yxsh
用户头衔:举人

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



谢谢楼主分享

支持!~··



http://yixinzhihui.com
2017-03-28 15:02:09 已设置保密 顶部 回复 引用 报告 编辑 删除

jieling
用户头衔:举人

精华贴   :0
发贴数   :271
经验值   :973
注册时间:2015-07-15
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 6 楼]

谢谢分享



自主研发 免费使用 定时采集 图片水印 自动缩略图 自动上传 http://www.lj55.net
2017-03-28 18:16:15 已设置保密 顶部 回复 引用 报告 编辑 删除

帝国时代3
用户头衔:探花

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

支持下




2017-03-29 08:09:06 已设置保密 顶部 回复 引用 报告 编辑 删除

jiuhecai
用户头衔:探花

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

支持下。另外,原作已经修正了一个bug。注意看评论:

http://www.zhongyf.com/qita/rj/2015-02-19/91911.html



帝国插件 插件定制。帝国临时工。查杀顽固木马。专业解决难题。qq--110102296
2017-03-29 10:05:00 已设置保密 顶部 回复 引用 报告 编辑 删除

feier
用户头衔:探花

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

支持下




2017-03-30 08:22:03 已设置保密 顶部 回复 引用 报告 编辑 删除

我是一片云
用户头衔:探花

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

支持一下




2017-03-31 08:05:59 已设置保密 顶部 回复 引用 报告 编辑 删除
 1/3     1 2 3 ›› ›|

快速回复
内容

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