中药方大全小图标
您当前的位置:首页 > 其他 > 网站日记

【帝国cms插件】之批量王

提示: 阅读权限:公开  来源:jiuhecai  作者:jiuhecai

添加了好几万条信息了,结果需要修改字段值,这样的要求有没有?

或者是因为采集的时候过滤不充分

或者是数据表新添加了字段

或者是想搞l图片延时加载

或者是或者...


怎么办?

官方给了简单解决办法,后台有批量替换字段值

但是 不能满足我们的要求

所以写了个批量处理的插件 - 帝国批量王


只需要把处理的代码写到,自定义页面模板中,就可以批量处理了。

【使用法】后台,添加sql语句,并保存,要求名称[plw]开头。

模板内容参考示范代码。主表副表字段都集成在$r数组中了。要求把最后修改的字段名写到$listtemp变量中,多个用逗号分开。


 

代码1:同时修改多个字段。要点--最后把需要修改的字段名写到$listtemp变量中,多个用逗号分开。

$r['newstext'].='777';

$r['smalltext']='777'.$r['smalltext'];

$r['title']='777'.$r['title'];

$listtemp="newstext,title,smalltext";

代码2:修改发布时间字段

 【需求背景】 http://bbs.phome.net/ShowThread/?threadid=351326&forumid=13

【示范代码】

$r['newstime']=to_time('1988-12-30');

$listtemp="newstime";

代码3:批量修改smalltext

【需求背景】http://bbs.phome.net/ShowThread/?threadid=343386&forumid=13

【示范代码】

$r['newstext']=stripslashes($r['newstext']);

 

$smalltext=SubSmalltextVal($r['newstext'],100);

 

$r['newstext']=addslashes($smalltext);

 

$listtemp="smalltext";

 

【示范代码】

global $public_r;

$listtemp='smalltext';

$r['newstext']=stripslashes($r['newstext']);

$smalltext=SubSmalltextVal($r['newstext'],$public_r['smalltextlen']);

$r['smalltext']=addslashes($smalltext);

$listtemp="smalltext";

 

【代码4】批量取消审核

$jhc=$empire->query("update {$dbtbpre}ecms_{$tbname}_index set checked=0 where id='$r[id]'");

MoveCheckInfoData($tbname,1,$r['stb'],"id='{$r[id]}'");

AddClassInfos($r['classid'],'','-1');

DelNewsFile($r[filename],$r[newspath],$r[classid],$r[$pf],$r[groupid]);

$listtemp='';

 

【代码5】批量审核

//未审核表转换
MoveCheckInfoData($class_r[$r[classid]][tbname],0,$r['stb'],"id='$r[id]'");
//更新栏目信息数
AddClassInfos($r['classid'],'','+1');
//刷新信息
GetHtml($r['classid'],$r['id'],$r,1);
$listtemp='';		

【代码6】批量修改友情链接的说明

$r['lsay']='你好我就是测试一下好用吗';

$listtemp="lsay";

【代码7】一个字段的内容,分隔到两个字段
 

$listtemp='newstext,zuijiadaan';
$newstext=stripslashes($r['newstext']);
$jhcr=explode('<h2>优质解答</h2>',$newstext);
if(count($jhcr)==1)continue;
$r['newstext']=addslashes($jhcr[0]);
$r['zuijiadaan']=addslashes($jhcr[1]);

 * 注:2018年9月18日 批量王增加了处理任意数据表的功能


【代码8】//代码:[plw]批量提取第一张图片为标题图片

//代码:[plw]批量提取第一张图片为标题图片

if(!$r[titlepic]){
      $newstext=stripslashes($r['newstext']);
         $pattern = '/<img(?=\s).*?(?<=\s)src="(.+?)"/i';
          preg_match($pattern, $newstext, $matches);
      if($matches){
                $r[titlepic]= $matches[1];//返回第一张图片地址
                if(!strstr($r[titlepic],'://')){$r[titlepic]=$_SERVER[HTTP_ORIGIN].'/'.ltrim($r[titlepic],'/'); }
                 
        }
}
$listtemp='titlepic';

//内容图片批量保存在本地,如何操作?

$listtemp='newstext';
$mark=1;// 水印
$text=stripslashes($r['newstext'])
$text=CopyImg($text,1,0,$r[classid],'',$r[username],$r[id],0,$mark,$r[fstb]);
$r['newstext']=addslashes($text);


//复制关键词到tag字段
$tags = explode(",", $r[keyboard]);
$mid = (int)$class_r[$r[classid]][modid]; //获取模型id
foreach ($tags as $tag) {
    if (strstr(',' . $r['infotags'] . ',', ',' . $tag . ',')) continue; //已经有了
    $r['infotags'] = ltrim($r['infotags'].',' . $tag,',');
    $tagid = $empire->gettotal("select tagid as total from {$dbtbpre}enewstags where tagname='$tag' limit 1");
    if ($tagid) {
        $empire->query("update {$dbtbpre}enewstags set num=num+1 where tagid='$tagid'");
    } else {
        $empire->query("insert into {$dbtbpre}enewstags(tagname,num,isgood,cid) values('$tag',1,0,0);");
        $tagid = $empire->lastid();
    }
    $empire->query("insert into {$dbtbpre}enewstagsdata(tagid,classid,id,newstime,mid) values('$tagid','$r[classid]','$r[id]','$r[newstime]','$mid');");
}
$listtemp = 'infotags';


tags: 帝国cms 插件 批量 帝国 图片
返回顶部
推荐资讯
视频:田纪钧讲关节不痛的秘密、膝关节拉筋法
视频:田纪钧讲关节不
白露到了,你还好吗?
白露到了,你还好吗?
尿疗与断食
尿疗与断食
给风疹反复发作女孩的药方(组图)
给风疹反复发作女孩的
相关文章
栏目更新
栏目热门
  1. 帝国cms全站搜索的分页格式如何修改-流程
  2. libreoffice7的命令大全
  3. 帝国cms插件之标题生成标题图片
  4. 帝国cms插件安装模板
  5. useragent两千条,爬虫专用
  6. 帝国cms插件之迅搜
  7. 帝国cms插件如何兼容gbk和utf8
  8. 帝国cms用户上传文件名的命名规则及修改方
  9. 帝国cms代码片段备忘录
  10. 帝国cms7.2函数大全