帝国论坛 → 帝国网站管理系统交流区 → 帝国CMS使用交流 → [原创]按条件批量删除数据和html文件利用DelNewsall函数 【本版专题贴子】  
主题:[原创]按条件批量删除数据和html文件利用DelNewsall函数 [加入收藏夹]   

qiuxis
用户头衔:秀才

精华贴   :0
发贴数   :89
经验值   :559
注册时间:2012-12-26
信息 搜索 好友 发送悄悄话 【精益求精-帝国网站管理系统7.5正式版开源发布】   [第 1 楼]
[原创]按条件批量删除数据和html文件利用DelNewsall函数
ecms_photo表里面有picurl_small字段,该字段为存储图片链接所用,格式如http://www.xxx.com/2013-12/ssss.jpg
现在有的数据存在这种情况,链接是http://www.xxx.com/2013-12/,没有ssss.jpg。
我想查找出链接不全的数据,但是这些数据已经生成了静态的html文件,一共有好几百条,如果一条一条删除太耗费时间了,所以打算自己写个程序。于是有了下面的代码:


<?php
@set_time_limit(0);
require("../class/hinfofun.php");
$lur=is_login();
$logininid=$lur['userid'];
$loginin=$lur['username'];
$loginrnd=$lur['rnd'];
$loginlevel=$lur['groupid'];
$loginadminstyleid=$lur['adminstyleid'];
$sql=$empire->query("select * from {$dbtbpre}ecms_photo order by newstime ");
$del_i=0 ;
while($r=$empire->fetch($sql))        //循环获取查询记录
{
$picurl=explode('/2013-12/',$r[picurl_small]);//查找符合条件的数据
if(!$picurl[1]){
//echo $r[title] ;
//echo '<br />' ;
$id[$del_i]=$r[id];
$del_i++ ;
}
}
//print_r($id);
        $classid=712;
        $bclassid=0;
        $ecms=0;
        DelNews_all($id,$classid,$logininid,$loginin,$ecms);//删除之前先ECHO出标题,查看,否则一旦删除无法恢复
?>

随便新建一个自定义页面,把上面的代码复制过去。符合条件的数据一并删除,数据库和html文件都删除掉了。如果是未审核的,        $ecms=2 。



[论坛教程] [普歌]
2013-12-29 06:23:00 已设置保密 顶部 回复 引用 报告 编辑 删除

59966
用户头衔:探花

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

后台-栏目-其他-批量删除信息




2013-12-29 08:48:48 已设置保密 顶部 回复 引用 报告 编辑 删除

qiuxis
用户头衔:秀才

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

原帖由 59966 于 2013-12-29 08:48:48 发表
后台-栏目-其他-批量删除信息


由于是采集过来的数据,存在随机的数据存在不适合的内容——图片地址不全,比如1-100条数据,第5条、第18、第53、第89、第91这5条就不能用你说的方式删除。



[论坛教程] [普歌]
2013-12-29 12:42:21 已设置保密 顶部 回复 引用 报告 编辑 删除

hicode
用户头衔:版主

精华贴   :1
发贴数   :21646
经验值   :47915
注册时间:2007-07-20
信息 搜索 好友 发送悄悄话 【免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 4 楼]

可以删除掉整个栏目的html页面,然后再重新生成内容页




2013-12-30 08:29:44 已设置保密 顶部 回复 引用 报告 编辑 删除

qiuxis
用户头衔:秀才

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

原帖由 hicode 于 2013-12-30 08:29:44 发表
可以删除掉整个栏目的html页面,然后再重新生成内容页

像我这种情况,如果没有删除数据库里面的内容,重新生成问题还是存在。
我不知道已生成的这些数据,如果要删除数据库里面的内容应该删哪几个表。

版主的方法是可行的:
1、先删除数据库里面的内容。
2、再删除栏目下的html文件。
3、重新生成html文件。

按你的方法,我卡在了第一步。



[论坛教程] [普歌]
2013-12-31 01:59:14 已设置保密 顶部 回复 引用 报告 编辑 删除

城市孤星
用户头衔:探花

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

版主说的是删除.html页面,不是数据库内容




2013-12-31 08:07:32 已设置保密 顶部 回复 引用 报告 编辑 删除

qiuxis
用户头衔:秀才

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

原帖由 城市孤星 于 2013-12-31 08:07:32 发表
版主说的是删除.html页面,不是数据库内容

不删除数据库内容,那刷新内容页,不是再次又生成了?



[论坛教程] [普歌]
2014-01-02 01:00:54 已设置保密 顶部 回复 引用 报告 编辑 删除

城市孤星
用户头衔:探花

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

还要删除数据库,那就没办法了,因为你的数据没规律




2014-01-02 08:05:25 已设置保密 顶部 回复 引用 报告 编辑 删除

快速回复
内容

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