西部数码主机 | 阿里云主机| 虚拟主机 | 服务器 | 返回乐道官网
当前位置: 主页 > php教程 > zencart教程 >

批量删除ZenCart无图片商品

时间:2016-01-25 09:20来源: 作者: 点击:
日常使用批量表或采集入库来发布商品时, 有时候难免出现部分商品图片丢失的情况, 传统的解决方法为, 前台查看对应的商品名称或ID, 后台删除或关闭对应的商品, 费时又费力,且无效率
日常使用zencart批量表或采集入库来发布商品时,
 
有时候难免出现部分商品图片丢失的情况,
 
传统的解决方法为, 前台查看对应的商品名称或ID, 后台删除或关闭对应的商品,
 
费时又费力,且无效率,
 
利用下面的小工具 就可以快速解决这个问题,
 
工具的工作原理为,批量检索当前网站中所有的商品图片链接,
 
当连接无效时,标记该商品, 最后将标记的商品批量删除!
 
使用方法: 将下面代码保存到本地, 然后上传到网站任意目录下,
 
然后 http://你的域名/本文件路径/本文件名.php 执行即可
 
Tips: 本文件的执行涉及到一定的批量操作, 对于任何批量操作,操作前作好备份数据库是一个良好的日常应用习惯!
 
 
<?php
/**
 *
 * @ 批量删除Zen Cart 无图片商品
 * @ 使用方法: 将本文件上传到网站任意目录下 然后 http://你的域名/本文件所在路径/本文件名.php
 *
 * @ By KIRA
 *
 */
?>
<?php
  require('includes/application_top.php'); 
?>
<?php
      $listing_sql = "select * from " .TABLE_PRODUCTS. " ";
      $listing = $db->Execute($listing_sql);
      while (!$listing->EOF) {
          if(!file_exists("images/" . $listing->fields['products_image'])) //判断图片是否存在
            {
              $id= $listing->fields['products_id'];
              if ($id!="")
                    {
                        //删除数据库里该产品的数据。 不完全,可以自己修改。
                        $p_sql = "DELETE FROM " .TABLE_PRODUCTS ." WHERE products_id = $id" ; 
                        $d_sql = "DELETE FROM " .TABLE_PRODUCTS_DESCRIPTION ." WHERE products_id = $id" ; 
                        $c_sql = "DELETE FROM " .TABLE_PRODUCTS_TO_CATEGORIES ." WHERE products_id = $id" ; 
                        $a_sql = "DELETE FROM " .TABLE_PRODUCTS_ATTRIBUTES ." WHERE products_id = $id" ;  
                        $db->Execute($p_sql);
                        $db->Execute($d_sql);
                        $db->Execute($c_sql);
                        $db->Execute($a_sql);
                        echo "DEL $id OK"."\r\n";
                    }
            }
          $listing->MoveNext();
      }
?>
(责任编辑:好模板)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
热点内容