<code>您的位置:商品分类栏目 分类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的前后顺序问题吗? 比如删除女装是,需要先把休闲裤删了才行,但我想直接删完,应该怎么做呢??</code>
<code>您的位置:商品分类栏目 分类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的前后顺序问题吗? 比如删除女装是,需要先把休闲裤删了才行,但我想直接删完,应该怎么做呢??</code>
delete from table where id=7 or path like '%,7,%'
根據我的經驗,我有以下建議:
1.商品分類在刪除任何一個分類的時候,必須查庫驗證該分類下是否還存在子分類,如果有則不能刪除該分類。
2.刪除該分類前,必須把該分類下面的全部子分類刪除完畢才可以,根據分類父級ID查庫。
3.如果不照以上方面做,一定會產生垃圾資料。