欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

删除问题 - php 商品分类怎么删除?

程序员文章站 2022-05-28 22:42:33
...
您的位置:商品分类栏目
分类ID    分类树    分类名称    父类ID    父类路径    商品分类管理

6  家电    0    0,    修改 | 复制 | 删除

15 黑白电视机    6    0,6,    修改 | 复制 | 删除

27 洗衣机    6    0,6,    修改 | 复制 | 删除

28 液晶电视机    6    0,6,    修改 | 复制 | 删除

3  女装    0    0,    修改 | 复制 | 删除

12 休闲裤    3    0,3,    修改 | 复制 | 删除

7 手机    0    0,    修改 | 复制 | 删除

8 iphone    7    0,7,    修改 | 复制 | 删除

10 iphone6s    8    0,7,8,    修改 | 复制 | 删除

9 华为    7    0,7,    修改 | 复制 | 删除

11 华为mate9    9    0,7,9,    修改 | 复制 | 删除

19 vivo    7    0,7,    修改 | 复制 | 删除

26 vivoX7    19    0,7,19,    修改 | 复制 | 删除


//上表怎么做商品分类删除?删除父级分类=父级+子级
$id=$_GET['id'];
        $sql="select path from type WHERE path like '%$id%'";
        $rs=mysql_query($sql);
        $arr=mysql_fetch_assoc($rs);
       if($arr){
          $path=" and path like '%$id%'";
        }else{
            $path='';
        }
        $where="where id={$id}{$path}";
        $sql2="delete from type $where";
        //echo $sql2;die();
        $rs=mysql_query($sql2);
        if(mysql_affected_rows()>0){
            echo '删除成功';
        }else{
            echo '删除失败';
        }
        break;
//我写的代码为什么不能删除有子级分类的商品呢?只能把子分类删完才能执行父类
//是where and的前后顺序问题吗?

比如删除女装是,需要先把休闲裤删了才行,但我想直接删完,应该怎么做呢??

回复内容:

您的位置:商品分类栏目
分类ID    分类树    分类名称    父类ID    父类路径    商品分类管理

6  家电    0    0,    修改 | 复制 | 删除

15 黑白电视机    6    0,6,    修改 | 复制 | 删除

27 洗衣机    6    0,6,    修改 | 复制 | 删除

28 液晶电视机    6    0,6,    修改 | 复制 | 删除

3  女装    0    0,    修改 | 复制 | 删除

12 休闲裤    3    0,3,    修改 | 复制 | 删除

7 手机    0    0,    修改 | 复制 | 删除

8 iphone    7    0,7,    修改 | 复制 | 删除

10 iphone6s    8    0,7,8,    修改 | 复制 | 删除

9 华为    7    0,7,    修改 | 复制 | 删除

11 华为mate9    9    0,7,9,    修改 | 复制 | 删除

19 vivo    7    0,7,    修改 | 复制 | 删除

26 vivoX7    19    0,7,19,    修改 | 复制 | 删除


//上表怎么做商品分类删除?删除父级分类=父级+子级
$id=$_GET['id'];
        $sql="select path from type WHERE path like '%$id%'";
        $rs=mysql_query($sql);
        $arr=mysql_fetch_assoc($rs);
       if($arr){
          $path=" and path like '%$id%'";
        }else{
            $path='';
        }
        $where="where id={$id}{$path}";
        $sql2="delete from type $where";
        //echo $sql2;die();
        $rs=mysql_query($sql2);
        if(mysql_affected_rows()>0){
            echo '删除成功';
        }else{
            echo '删除失败';
        }
        break;
//我写的代码为什么不能删除有子级分类的商品呢?只能把子分类删完才能执行父类
//是where and的前后顺序问题吗?

比如删除女装是,需要先把休闲裤删了才行,但我想直接删完,应该怎么做呢??

delete from table where id=7 or path like '%,7,%'

根据我的经验,我有以下建议:
1.商品分类在删除任何一个分类的时候,必须查库验证该分类下是否还存在子分类,如果有则不能删除该分类。
2.删除该分类前,必须把该分类下面的全部子分类删除完毕才可以,根据分类父级ID查库。
3.如果不按照以上方面做,一定会产生垃圾数据。

相关标签: php 删除问题