刪除問題 - php 商品分類怎麼刪除?

WBOY
發布: 2016-09-01 00:20:16
原創
1095 人瀏覽過

<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.如果不照以上方面做,一定會產生垃圾資料。

相關標籤:
php
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!