Zencart批量删除无图片产品

时间:2020-12-19 07:08:58

Zencart批量删除无图片产品

2012-04-23 07:26:18|  分类: 默认分类 |字号 订阅

转自 http://zhongjia33.blog.163.com/blog/#m=0

 好东西哦

今天给新站上传产品后,由于采集包里许多产品图片缺失,导致出现了非常多的无图产品。一个个删除的话,太费力了,于是百度了一下有没有捷径。结果在找到了。试用了下,非常好用。在这里分享给大家Zencart批量删除无图片产品

使用方法: 将下面代码保存到本地, 然后上传到网站任意目录下,

然后 http://你的域名/本文件路径/本文件名.php 执行即可

Tips: 本文件的执行涉及到一定的批量操作, 对于任何批量操作,操作前作好备份数据库是一个良好的日常应用习惯!

<?php

/**
 *  
 * @ 批量删除Zen Cart 无图片商品  
 *  @ 使用方法: 将本文件上传到网站任意目录下 然后 http://你的域名/本文件所在路径/本文件名.php  
 *  
 */  
?>   
<?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();   
      }   
?>