办公用品网上商城的设计与实现毕业设计说明书(含源程序)(编辑修改稿)内容摘要:

员与商品之 间的多对多的订购关系转换为订单表。 会员与商品之间的多对多的评论关系转换为订单表。 表 41 会员表 列名 类型 长度 是否为空 是否主键 是否外键 说明 id int 4 否 是 否 编号,自增 name varchar 25 否 否 否 姓名 pwd varchar 50 否 否 否 密码 int 11 否 否 否 号 dongjie varchar 4 否 否 否 冻结状态 varchar 25 是 否 否 邮件 sfzh varchar 25 是 否 否 地址 tel varchar 25 是 否 否 手机 tishi varchar 50 是 否 否 提示问题 huida varchar 50 是 否 否 答案 dizhi varchar 100 是 否 否 地址 youbian varchar 25 是 否 否 邮编 truename varchar 25 是 否 否 真实姓名 表 42 管理员表 列名 类型 长度 是否为空 是否主键 是否外键 说明 id int 4 否 是 否 编号,自增 name varchar 25 否 否 否 姓名 pwd varchar 25 否 否 否 密码 tel varchar 25 否 否 否 手机号 realname datetime 25 是 否 否 真实姓名 表 43 商品表 列名 类型 长度 是否为空 是否主键 是否外键 说明 id int 4 否 是 否 编号,自增 mingcheng varchar 25 否 否 否 名称 jianjie text 否 否 否 描述 dengji varchar 5 否 否 否 等级 xinghao varchar 25 是 否 否 型号 tupian varchar 200 是 否 否 图片 shuliang int 4 是 否 否 数量 tuijian int 4 是 否 否 是否推荐 typeid int 4 是 否 是 类型 pinpai varchar 25 是 否 否 品牌 huiyuanjia varchar 25 是 否 否 会员价 shichangjia varchar 25 是 否 否 市场价 addtime varchar 25 否 否 否 添加时间 表 44 公告 表 列名 类型 长度 是否为空 是否主键 是否外键 说明 id int 4 否 是 否 编号,自增 title varchar 20 否 否 否 标题 context text 否 否 否 内容 time varchar 50 是 否 否 添加日期 表 45 分类表 列名 类型 长度 是否为空 是否主键 是否外键 说明 id int 4 否 是 否 编号,自增 typename varchar 50 否 否 否 类型名 表 46 订单 表 列名 类型 长度 是否为空 是否主键 是否外键 说明 id int 4 否 是 否 编号,自增 dingdanhao varchar 125 否 否 否 订单号 spc varchar 125 否 否 是 商品编号 slc varchar 125 否 否 否 数量 shouhuoren varchar 25 否 否 否 收货人 sex varchar 2 否 否 否 性别 dizhi varchar 125 否 否 否 地址 youbian varchar 10 否 否 否 邮编 tel varchar 25 否 否 否 联系电话 varchar 25 是 否 否 邮件 shfs varchar 25 是 否 否 送货方式 zfff varchar 25 否 否 否 支付方式 time varchar 25 否 否 否 时间 xiadanren varchar 25 否 否 是 下单人 total int 11 否 否 否 总价 zt varchar 25 否 否 否 状态 表 47 评价 表 列名 类型 长度 是否为空 是否主键 是否外键 说明 id int 4 否 是 否 编号,自增 userid int 4 是 否 是 会员编号 spid int 4 是 否 是 商品编号 title varchar 200 是 否 是 标题 content text 是 否 是 内容 time varchar 否 否 是 添加日期 数据库表之间联系 图 44 数据库表关系图 第五章 详细设计与实现 前台模块设计与实现 ThinkPHP 框架 基于 MVC 设计模式。 ThinkPHP 中的 MVC 分层体现在: 模型( M):模型的定义由 Model 类来 完成。 控制器( C):应用控制器(核心控制器 App 类)和 Action 控制器都承担了控制器的角色, Action 控制器完成业务过程控制,而应用控制器负责调度控制。 视图( V):由 View 类和模板文件组成,模板做到了 100%分离,可以独立预览和制作。 根据上文对网上商城的分析,前台模块共设计五个 Action 控制器 类: IndexAction类、 GonggaoAction 类、 ProductAction 类、 UserAction 类和 PublicAction 类。 这五个控制器类都继承 ThinkPHP 框架 Action 控制器基类 — Action 类。 其中 IndexAction 类是系统默认的控制器类,而 PublicAction 类用于进行初始化等操作。 GonggaoAction 类负责与公告相关的某些操作, ProductAction 类负责与商品相关的一些操作, DingdanAction类负责处理与订单相关的一些操作, UserAction 类负责与会员相关的一些操作。 前台模块 控制器 类图如图 51 所示。 + _ _ c o n s t r u c t ( ) i s A j a x ( )+ d i s p l a y ( )+ a s s i g n ( ) n a m e v i e w e r r o rA c t i o n C l a s s+ _ i n i t i a l i z e ( )P u b l i c A c t i o n C l a s s+ i n d e x ( )I n d e x A c t i o n C l a s s+ l o o k i n f o ( )+ a d d g o u w u c h e ( )+ g o u w u 1 ( )+ r e m o v e g w c ( )+ s h o w n e w ( )+ s h o w t u i j i a n ( )+ s h o w h o t ( )+ s h o w f e n l e i ( )+ h i g h t f i n d ( )+ d o h i g h t f i n d ( )+ f i n d s p ( )+ s a v e p j ( )+ s h o w p j ( )+ s a v e d d ( )+ s h o w d d ( )+ f i n d d d ( )+ q r d d ( )P r o d u c t A c t i o n C l a s s+ s h o w g g ( )+ s h o w g o n g g a o ( )G o n g g a o A c t i o n C l a s s+ c h k u s e r n c ( )+ s a v e r e g ( )+ c h a n g e i n f o ( )+ c h k p a s s w o r d ( )+ c h k u s e r ( )+ l o g o u t ( )+ m y p w d ( )+ s h o w p w d ( )U s e r A c t i o n C l a s s 图 51 前台模块控制器类图 ThinkPHP 框架中, Model 模型类与数据库中的 表或视图一一对应。 通过 Model 模型类可直接对数据库中的表尽享增加、删除、修改和查询等操作。 由于前台模块不需要与管理员员进行交互,所以前台模块共设计六个模型类: DingdanModel 类、GonggaoModel 类、 PingjiaModel、 ShangpinModel 类、 TypeModel 类和 UserModel 类。 六个模型类都继承 ThinkPHP 框架 模型类 — Model 类。 前台模块模型类图如图 52 所示。 A d m i n M o d e l C l a s sG o n g g a o M o d e lP i n g j i a M o d e l C l a s sS h a n g p i n M o d e l C l a s s T y p e M o d e l C l a s sU s e r M o d e l+ _ _ c o n s t r u c t ( )+ a d d ( )+ s a v e ( )+ d e l e t e ( )+ s e l e c t ( ) d b n a m e d b n a m eM o d e l C l a s s 图 52 后台模块模型类图 注册模块设计与实现 ThinkPHP 框架基于模块和操作的方式进行访问,网站的所有的模块和操作都通过URL 的参数来访问和执行。 单击主页上会员注册标签,系统解析 URL 参数,调用UserAction 类的 reg()方法。 由于 UserAction 类未定义 reg()方法,系统自动调用模板文件 ,显示会员注册界面。 在该界面输入相关信息,点击提交按钮即可完成注册。 本次设计运用 JavaScrip 技术对表单输入的内容进行了校验。 点击提交按钮后,系统调用 UserAction 类的 savereg()方法。 该方法通过 UserModel 模型类从数据库中获取相关信息, 判断会员名是否已存在。 若不存在则显示注册成功。 若会员名已注册,则返回会员注册页面。 会员注册页面如图所示 图 53 会员注册页面 登录模块设计与实现 已注册会员在首页 的登录框内输入会员名、密码和验证码,即完成登录操作。 会员点击提交按钮后, 系统会调用 UserAction 类的 chkuser()方法。 该方法通过接收表单信息对验证码进行校验,通过 UserModel 模型类从数据库中获取相关信息 对 会员的状态以及会员提交的 会员名和密码进行校验。 如果会员名、密码或验证码输入错误或者会员已经被冻结,则拒绝会员的登录,弹出相关信息后返回首页。 若会员输入信息正确且未被冻结,则开启 session,将会员的相关信息存入 session 中,并显示会员成功登录。 会员登录页面如图 54 所示。 图 54 会员注册页面 查询模块设计与实现 会员可以浏览首页内的相关商品,也可以网页上方的搜索框中 输入相关信息,进行 模糊搜索或精确搜索。 若点击立刻查找按钮,则系统调用 ProductAction 类的 findsp 方法。 该方法通过 ShangpinModel 模型类对输入的关键字进行模糊查询。 然后系统将查询结果注入到模板文件 中,并调用该模板文件显示查询结果。 若点击精确查找按钮,系统将调用 ProductAction 类的 hightfind 方法,该方法通过 ShangpinModel 类和TypeModel 类从数据库中查询商品名称、型号和类型等信息。 系统将这些注入到模版文件 中,并调用该模板文件显示精确搜索页面。 会员在该页面内选择详细的商品信息,进行精确查找。 系统会调用 ProductAction 类的 dohightfind 方法,通过ShangpinModel 类在数据库中对输入的信息进行精确匹配查找。 系统将结果注入到模板文件 中,并调用该模板文件显示查询结果。 查询结果页面如图 55 所示。 图 55 查询结果页面 在网页 上点击某一商品的图像、名称后,系统会调用 ProductAction 类的 lookinfo()方法。 该方法接收超级链接传来的参数,通过 ShangpinModel 类根据参数从数据库中查询关于该商品的相关信息。 系统将查询结果注入到模板文件 中,并将调用该文件显示商品的具体信息。 商品具体信息页。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。