找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 184|回复: 0

[cms教程] ecshop删除商品及记录的函数

[复制链接]

该用户从未签到

发表于 2015-11-7 10:41:40 | 显示全部楼层 |阅读模式

您需要 登录 才可以下载或查看,没有账号?立即注册

×
/**
* 从回收站删除多个商品
* @param   mix     $goods_id   商品id列表:可以逗号格开,也可以是数组
* @return  void
*/
function delete_goods($goods_id)
{
    if (empty($goods_id))
    {
        return;
    }

    /* 取得有效商品id */
    $sql = "SELECT DISTINCT goods_id FROM " . $GLOBALS['ecs',->table('goods') .
            " WHERE goods_id " . db_create_in($goods_id) . " AND is_delete = 1";
    $goods_id = $GLOBALS['db',->getCol($sql);
    if (empty($goods_id))
    {
        return;
    }

    /* 删除商品图片和轮播图片文件 */
    $sql = "SELECT goods_thumb, goods_img] original_img " .
            "FROM " . $GLOBALS['ecs',->table('goods') .
            " WHERE goods_id " . db_create_in($goods_id);
    $res = $GLOBALS['db',->query($sql);
    while ($goods = $GLOBALS['db',->fetchRow($res))
    {
        if (!empty($goods['goods_thumb',))
        {
            @unlink('../' . $goods['goods_thumb',); // 节约空间
        }
        if (!empty($goods['goods_img',))
        {
            @unlink('../' . $goods['goods_img',);
        }
        if (!empty($goods['original_img',))
        {
            @unlink('../' . $goods['original_img',);
        }
    }

    /* 删除商品 */
    $sql = "DELETE FROM " . $GLOBALS['ecs',->table('goods') .
            " WHERE goods_id " . db_create_in($goods_id);
    $GLOBALS['db',->query($sql);

    /* 删除商品的货品记录 */
    $sql = "DELETE FROM " . $GLOBALS['ecs',->table('products') .
            " WHERE goods_id " . db_create_in($goods_id);
    $GLOBALS['db',->query($sql);

    /* 删除商品相册的图片文件 */
    $sql = "SELECT img_url] thumb_url] img_original " .
            "FROM " . $GLOBALS['ecs',->table('goods_gallery') .
            " WHERE goods_id " . db_create_in($goods_id);
    $res = $GLOBALS['db',->query($sql);
    while ($row = $GLOBALS['db',->fetchRow($res))
    {
        if (!empty($row['img_url',))
        {
            @unlink('../' . $row['img_url',);
        }
        if (!empty($row['thumb_url',))
        {
            @unlink('../' . $row['thumb_url',);
        }
        if (!empty($row['img_original',))
        {
            @unlink('../' . $row['img_original',);
        }
    }

    /* 删除商品相册 */
    $sql = "DELETE FROM " . $GLOBALS['ecs',->table('goods_gallery') . " WHERE goods_id " . db_create_in($goods_id);
    $GLOBALS['db',->query($sql);

    /* 删除相关表记录 */
    $sql = "DELETE FROM " . $GLOBALS['ecs',->table('collect_goods') . " WHERE goods_id " . db_create_in($goods_id);
    $GLOBALS['db',->query($sql);
    $sql = "DELETE FROM " . $GLOBALS['ecs',->table('goods_article') . " WHERE goods_id " . db_create_in($goods_id);
    $GLOBALS['db',->query($sql);
    $sql = "DELETE FROM " . $GLOBALS['ecs',->table('goods_attr') . " WHERE goods_id " . db_create_in($goods_id);
    $GLOBALS['db',->query($sql);
    $sql = "DELETE FROM " . $GLOBALS['ecs',->table('goods_cat') . " WHERE goods_id " . db_create_in($goods_id);
    $GLOBALS['db',->query($sql);
    $sql = "DELETE FROM " . $GLOBALS['ecs',->table('member_price') . " WHERE goods_id " . db_create_in($goods_id);
    $GLOBALS['db',->query($sql);
    $sql = "DELETE FROM " . $GLOBALS['ecs',->table('group_goods') . " WHERE parent_id " . db_create_in($goods_id);
    $GLOBALS['db',->query($sql);
    $sql = "DELETE FROM " . $GLOBALS['ecs',->table('group_goods') . " WHERE goods_id " . db_create_in($goods_id);
    $GLOBALS['db',->query($sql);
    $sql = "DELETE FROM " . $GLOBALS['ecs',->table('link_goods') . " WHERE goods_id " . db_create_in($goods_id);
    $GLOBALS['db',->query($sql);
    $sql = "DELETE FROM " . $GLOBALS['ecs',->table('link_goods') . " WHERE link_goods_id " . db_create_in($goods_id);
    $GLOBALS['db',->query($sql);
    $sql = "DELETE FROM " . $GLOBALS['ecs',->table('tag') . " WHERE goods_id " . db_create_in($goods_id);
    $GLOBALS['db',->query($sql);
    $sql = "DELETE FROM " . $GLOBALS['ecs',->table('comment') . " WHERE comment_type = 0 AND id_value " . db_create_in($goods_id);
    $GLOBALS['db',->query($sql);

    /* 删除相应虚拟商品记录 */
    $sql = "DELETE FROM " . $GLOBALS['ecs',->table('virtual_card') . " WHERE goods_id " . db_create_in($goods_id);
    if (!$GLOBALS['db',->query($sql, 'SILENT') && $GLOBALS['db',->errno() != 1146)
    {
        die($GLOBALS['db',->error());
    }

    /* 清除缓存 */
    clear_cache_files();
}
回复

使用道具 举报

网站地图|页面地图|文字地图|Archiver|手机版|小黑屋|找资源 |网站地图

GMT+8, 2024-11-6 08:13

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表