php商城数据库的设计 之无限分类
商品分类,使用无限分类
即:

-------如何创建数据表


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:

php商城数据库的设计 之无限分类的更多相关文章
- php不用递归完成无限分类,从表设计入手完整演示过程
无限分类是什么就不废话了,可以用递归实现,但是递归从数据库取东西用递归效率偏低,如果从表设计入手,就很容易做到网站导航的实现,下面是某论坛导航,如下图 网上无限分类大多不全面,今天我会从设计表开始, ...
- ThinkPHP无限分类模块设计
public function catelist(){ $cate=D('Cate'); //var_dump($cate->gettree());exit; $cateres=$cate-&g ...
- PHP实现无限分类
PHP实现无限分类 无限分类 递归 无限级分类是一种设计技巧,在开发中经常使用,例如:网站目录.部门结构.文章分类.笔者觉得它在对于设计表的层级结构上面发挥很大的作用,比如大家在一些平台上面,填写邀请 ...
- SQL Server 进阶 01 数据库的设计
SQL Server 进阶 01 数据库的设计 本篇目录 课程内容回顾及介绍 为什么需要规范的数据库设计 设计数据库的步骤 绘制E-R(实体-关系)图 实体-关系模型 如何将E-R图转换为表 数据规范 ...
- 数据库schema设计与优化
原文地址 1. 前言 对于数据库而言,在日常开发中我们主要的关注点有两块,一个是schema的结构设计,另一个就是索引的优化,这两块是影响我们最终系统结构和性能的关键部分,自然也是我们花费精力最多的部 ...
- MySql无限分类数据结构--预排序遍历树算法
MySql无限分类数据结构--预排序遍历树算法 无限分类是我们开发中非常常见的应用,像论坛的的版块,CMS的类别,应用的地方特别多. 我们最常见最简单的方法就是在MySql里ID ,parentID, ...
- PHP+Mysql无限分类的方法汇总
无限分类是个老话题了,来看看PHP结合Mysql如何实现.第一种方法这种方法是很常见.很传统的一种,先看表结构表:categoryid int 主键,自增name varchar 分类名称pid in ...
- PHP无限分类分类导航LINK的代码实现
1. 代码数据库的结构: 2.要达到的效果 /** * @param php无限分类分类导航LINK的代码实现 */ include('db.inc.php'); function getCatePa ...
- php三种无限分类
无限分类,是指从一个最高分类开始,每个子分类都可以分出自己的若干个子分类,可以一直分下去,称为无限级分类: 下面是对省市县的无限极分类的列子.数据库如图: 代码示例如下: /** * @Descrip ...
随机推荐
- JAVA并发同步互斥实现方式总结
大家都知道加锁是用来在并发情况防止同一个资源被多方抢占的有效手段,加锁其实就是同步互斥(或称独占)也行,即:同一时间不论有多少并发请求,只有一个能处理,其余要么排队等待,要么放弃执行.关于锁的实现网上 ...
- Treats for the Cows POJ - 3186 dp 区间dp
//dp[i][j]表示第i次从左边取,第j次从右边取的价值,所以我们可以得到状态方程 //dp[i][j]=max(dp[i-1][j]+(i+j)*a[i],dp[i][j-1]+(i+j)*a[ ...
- 《深入理解java虚拟机》读书笔记五——第六章
第六章 类文件结构 1.无关性的基石 各种不同平台的虚拟机与所有平台都统一使用程序存储格式——字节码是构成平台无关的基石. 实现语言无关性的基础仍然是虚拟机和字节码存储格式,Java虚拟机不和包括Ja ...
- 大二上学期Javaweb阶段性学习总结
本学期主要学了h5,css3,js,Java,SQL server数据库基本操作等相关知识,学会了简单web系统的制作. 这个学期总的来说学到了很多东西. 前期Java学习因为有了暑期学习及pta上5 ...
- PP: Triple-shapelet networks for time series classification
Problem: time series classification shapelet-based method: two issues 1. for multi-class imbalanced ...
- 安装python3.7.4时报错:Service Pack 1 is required to continue installation
python3.7.4安装失败:Service Pack 1 is required to continue installation 解决办法: 点击报错页面中的“log file”,日志最后一行显 ...
- Python警告:InsecureRequestWarning、InsecurePlatformWarning、SNIMissingWarning
SSL警告 urllib3将基于证书验证支持的级别发出几种不同的警告.这些警告表示特定情况,可以通过不同方式解决. InsecureRequestWarning 当在未启用证书验证的情况下对HTTPS ...
- android studio编译包真机安装失败解决方案记录
Android studio升级到3.0之后,编译的APK文件无法在真机上安装,提示安装失败,最开始以为是API版本过高,与手机的版本不兼容,然后降低API,结果依然是安装失败. 然后连接手机,直接调 ...
- MySQL启动和停止
MySQL视为大仓库,关闭的时候有权限有身份都无法进入使用的时候要保持启用状态 方式一: 计算机游击找到“管理”打开 左侧栏目中找到“服务和应用程序”打开 打开服务 找到MySQL...,右击.... ...
- 关于微信小程序
1.设置了tabBar的页面,好像用navigator跳不过去.