【千纸诗书】—— PHP/MySQL二手书网站后台开发之项目设计
前言:这个项目是毕设时候做的,我负责后台数据操作部分,已经很久了,这次回顾这部分,是为了复习PHP和MySQL的知识,正好现在在公司也负责的是后台管理系统的业务。第一篇【项目概况】附上毕业论文部分节选。项目github地址:https://github.com/66Web/php_book_store,欢迎Star。
![]() |
欢迎界面&首页 |
![]() |
后台管理系统 |
一、总体结构设计
本系统分为两个部分:前台管理系统和后台管理系统。前台管理系统包含有:书籍展示、图书检索、用户信息管理、购物车、订单等功能模块。后台管理系统包含有:书籍管理、分类管理、用户管理、评论管理、订单管理等功能模块。系统支持主流客户端——PC端。
前台管理系统,通过登录判断用户。如果没有登录,用户以游客身份浏览网站,只能查询书籍信息,不能进行交易。如果登录成功,用户则以会员身份拥有用户中心和书架,可以进行添加购物车、填写订单等操作,进而完成交易。
在图书检索功能中,用户可以通过模糊查询或高级查询,查找到自己想找的图书。用户登录成功后,将喜欢的图书收藏到个人书架中,方便以后查阅。在个人中心,用户可以修改个人信息、管理联系方式、发布出售图书、管理订单记录。购物车功能中,一次性记录图书信息,如果用户没有提交订单,退出登录或关闭浏览器,就清空购物车。
后台管理系统,通过登录验证管理员。如果验证成功,管理员可以对网站信息进行更新、修改和删除等操作,实现对系统的日常维护。
图书出售信息发布系统分为两个部分:用户发布和管理员发布。用户根据自己的需求,可以发布自己的闲置图书,并对出售信息进行管理。管理员负责网站官方发布,出售网站统一回收的图书,并管理包括用户发布在内的所有图书出售信息。
在订单管理功能中,用户可以看到自己购买图书的订单,也可以看到客户购买自己图书的订单,方便用户之间直接进行交易。用户在确认收货成功之后,会开通评论功能,在所购买的图书详情中,显示已购买客户的评论信息。所有用户的订单与评论,后台管理员统一进行管理。
总体结构设计如图所示。
二、概念模型设计
从应用需求出发,系统可以分为:会员、管理员、二手书类别、二手书信息、书架、订单、订单状态、联系方式、评论,九个实体。
采用先逐一分析实体属性以及实体间的关系,设计局部E-R图,然后再合并为全局E-R图的方法,对整体的概念模型进行设计。
全局E-R图如图所示:
三、逻辑模型的设计
将二手书交易网站系统包含的9个实体的E-R图进行概念-关系模式的转化,可得到关系模式如表3-1所示:
为了满足网站对性能的实际需求,提高数据的查找和管理效率,将上述关系结构做出下列优化。
考虑到订单管理和个人信息管理的功能需求,订单信息表和用户信息表中的联系方式是相同的,因此为了简化数据表,将收货人联系方式从订单信息表和用户信息表中分离出来,单独建联系方式表。
书架信息表的设置是为了实现用户对二手书籍的收藏功能,仅包含两个字段:用户ID和二手书编号。用户ID与会员信息表中的用户ID组成外键,二手书编号与二手书检索表中的二手书编号组成外键,二者共同组成复合主键。是1对n关系的经典数据表结构。
为了实现限制用户管理客户订单的权限,在二手书信息表中,设置供货商字段,默认为0,表示管理员发布的二手书。用户发布的二手书,供货商字段值设置为对应的用户ID,即通过判断客户购买二手书信息中的供货商字段显示用户出售二手书的订单。
实现方案将在下一节作具体阐述。
四、数据库设计实现
根据上一节逻辑模型的分析,系统需要分为:会员表、管理员表、二手书信息表、二手书类别表、书架表、评论表、联系方式表、订单状态表、订单表这九个数据表。表3-2至表3-7分别展示了几个主要的数据表。
会员表user:包含6个字段,其中id为主键。
二手书类别表class:包含2个字段,其中id为主键。
二手书信息表book:包含13个字段,其中id为主键。
联系方式表touch:包含6个字段,其中id为主键。
订单状态表status:包含2个字段,其中id为主键。
订单表indent:包含12个字段,其中id为主键。
注:转载请注明出处
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 【杂谈】分布式事务——高大上的无用知识?