商品分類,使用無限分類
即:
-------如何創建數據表
pid---父級分類id,如果是頂級分類則為0
path---1,用戶分類的排序 。
排序示例:
實現邏輯:獲取type表的所有分類,order by path , 得到了type列表,然后path有幾個逗號就加幾個---,
這樣,父級分類下就是子級分類,子級分類下是孫級分類,分類得到了有效的排序。
2,點擊父級分類,展示所有它和它的所有子級分類所轄的商品
實現邏輯: 子級分類的path like %父級分類的path%,再通過where的or語句(where (id=1 or id=2) ),可以實現點擊父級分類,顯示它和它所有子級分類的商品
level---表示當前分類是幾級分類,一般用於展示
sql代碼
商品表 create table goods( id int unsigned auto_increment primary key, goods_type_id int unsigned not null default 0 comment '商品分類外鍵', brand_id int unsigned not null default 0 comment '品牌外鍵', name varchar(100) not null default '' comment '商品名稱', title varchar(255) not null default '' comment '商品標題', img varchar(150) not null default '' comment '商品縮略圖', old_price decimal(10,2) unsigned not null default 0 comment '原價', pricr decimal(10,2) unsigned not null default 0 comment '售價', stock int unsigned not null default 0 comment '庫存', warnstock int unsigned not null default 0 comment '預警庫存' , status tinyint unsigned not null default 0 comment '商品狀態 ,1-在售 0-下架', sell_num int unsigned not null default 0 comment '銷量', detail varchar(999) not null default '' comment '商品詳情', create_time int(10) unsigned not null default 0 comment '商品創建時間', update_time int(10) unsigned not null default 0 comment '商品更新時間' ) 無限分類 create table goods_type( id int unsigned auto_increment primary key, name varchar(20) not null default '' comment '分類名', pid int unsigned not null default 0 comment '父級分類id(0:頂級分類)', path varchar(20) not null default '' comment '分類路徑(排序)', level int unsigned not null default 0 comment '分類等級(1:頂級分類)' ) 品牌表 create table brand( id int unsigned auto_increment primary key, name varchar(20) not null default '' comment '品牌名', logo_img varchar(150) not null default '' comment '品牌logo圖', info varchar(255) not null default '' comment '品牌簡介', create_time int(10) unsigned not null default 0 comment '品牌創建時間', update_time int(10) unsigned not null default 0 comment '品牌更新時間' )
goods:
brand:
goods_type: