PHP-Mysql好运图书管理系统--【白嫖项目】

强撸项目系列总目录在000集

PHP要怎么学–【思维导图知识范围】

文章目录

    • 本系列校训
    • 本项目使用技术
  • 首页
    • 必要的项目知识
      • ThinkPHP的MVC
      • ThinkTemplate
      • ThinkPHP 6和ThinkPHP 5
  • phpStudy 设置
  • 导数据库
  • 前台展示页面
  • 后台的管理界面
  • 数据库表结构
  • 项目目录如图:
  • 代码部分:
    • 主页
  • 参考
  • 配套资源
  • 作业:

本系列校训

用免费公开视频,卷飞培训班哈人!打死不报班,赚钱靠狠干!
别人项目要白嫖,网上就找范德彪!IT之路千千万,成功之法只一条!
----------白嫖别人都有理,那是洒家看得起,要是项目不咋地,天津包子狗不理!

本项目使用技术

PHP无类PHP类写法ThinkPHP框架其它框架
**

环境

PHP版本mysql版本运行工具编辑工具
5.5.38+Apache5.5(phpstudy自带)phpstudy2018phpStorm 2018

首页

在这里插入图片描述

注意:
如果上面出现警告代码的话,
直接修改php.ini 文件配置

php.ini
warning关闭的方法:首先找到并打开php.ini配置文件;然后修改内容为“display_errors=Off”;最后保存修改即可。

修改了代码,就没有烦人的警告信息了。

必要的项目知识

ThinkPHP,是为了简化企业级应用开发和敏捷WEB应用开发而诞生的开源轻量级PHP框架。
ThinkPHP是一个快速、兼容而且简单的轻量级国产PHP开发框架,诞生于2006年初,原名FCS,2007年元旦正式更名为ThinkPHP,遵循Apache2开源协议发布,从Struts结构移植过来并做了改进和完善,同时也借鉴了国外很多优秀的框架和模式,使用面向对象的开发结构和MVC模式,融合了Struts的思想和TagLib(标签库)、RoR的ORM映射和ActiveRecord模式。
ThinkPHP可以支持windows/Unix/Linux等服务器环境,正式版需要PHP5.0以上版本支持,支持MySql、PgSQL、Sqlite多种数据库以及PDO扩展,ThinkPHP框架本身没有什么特别模块要求,具体的应用系统运行环境要求视开发所涉及的模块。
前面略
2015年12月11日,ThinkPHP 5.0 Beta 发布;
2017年02月27日,Thinkphp5.0.5完整版正式发布 [3] ;
2018年05月02日,Thinkphp5.1.0RC版本发布; [4]
2019年04月22日,Thinkphp6.0RC2版本发布 [5] ;
2019年08月16日,Thinkphp6.0RC4版本发布 [6] ;
2019年12月24日,Thinkphp6.0.1版本发布 [7] ;

ThinkPHP的MVC

简单易用
模型(M):模型的定义由Model类来完成。Model类位于项目目录下面的LibModel目录。
控制器(C):应用控制器(核心控制器)和Action控制器都承担了控制器的角色,区别在于Action控制器完成业务过程,而应用控制器(App类)负责调度控制。Action控制器位于项目目录下面的LibAction目录。
视图(V):模板的实现是和框架无关的,做到了100%分离,可以独立预览和制作。模板目录位于项目目录下面的Tpl目录。

ThinkTemplate

ThinkTemplate是一个使用了XML标签库技术的编译型模板引擎,支持两种类型的模板标签,使用了动态编译和缓存技术,而且支持自定义标签库。其特点包括:
1)支持XML标签库和普通标签的混合定义;
2)编译一次,下次直接运行而无需重新编译;
3)模板文件更新后,自动更新模板缓存;
4)自动加载当前操作的模板缓存文件,无需指定模板文件名称;
5)支持编码转换和Content-Type更换;
6)模板变量输出前缀支持,避免变量名称冲突;
7)模板常量替换,无需设置模板变量;
8)支持变量组合调节器和格式化功能;
9)支持替换其它模板引擎插件使用;
10)支持获取模板页面内容。

ThinkPHP 6和ThinkPHP 5

ThinkPHP 6和ThinkPHP 5相比,有以下几个主要的变化和改进:

  1. 更好的性能:ThinkPHP 6采用了更加高效的底层框架,具有更好的性能和更高的并发能力。同时,ThinkPHP 6还采用了协程技术,可以更加高效地处理大量的请求。
  2. 更加简洁的代码:ThinkPHP 6引入了更加简洁的语法,可以让开发者更加轻松地编写代码。同时,ThinkPHP 6还支持更加优雅的链式操作,可以让代码更加简洁易读。
  3. 更加灵活的路由:ThinkPHP 6的路由系统更加灵活,可以支持更加丰富的路由规则和参数配置。同时,ThinkPHP 6还支持自动路由,可以让开发者更加方便地进行路由配置。
  4. 更加方便的模板引擎:ThinkPHP 6采用了更加方便的模板引擎,可以让开发者更加轻松地编写模板。同时,ThinkPHP 6还支持模板布局和模板继承,可以让开发者更加方便地进行模板设计。
  5. 更加完善的文档:ThinkPHP 6的文档更加完善,包含了更加详细的API文档和使用说明,可以让开发者更加容易上手和使用。

总之,ThinkPHP 6相比ThinkPHP 5有了很多的改进和优化,可以让开发者更加高效地进行开发。同时,ThinkPHP 6还保持了ThinkPHP 5的优点,如优秀的扩展性和丰富的功能模块,可以满足各种不同的业务需求。
在这里插入图片描述
对比一下springBoot
MVC (SpringMVC)OM (mybatis)前面页面框架(Thymeleaf)
在这里插入图片描述
点击右上角登陆 注册帐号:可以使用用户: user1/密码:123456

phpStudy 设置

网站目录,不能有中文或空格,就乖乖的用C语言能识别的变量名
在这里插入图片描述

导数据库

打开mysql-front 或navicat
注意:数据库名:qzss 超级用户:root 密码:123456
运行本例附件即可。最后导入数据库成功的截图如下:
在这里插入图片描述

前台展示页面

在这里插入图片描述
我的图书,需要登陆
在这里插入图片描述
每日 推荐(页面返回需要浏览器的回退)
在这里插入图片描述
购物车。
选中一本书之后有。
在这里插入图片描述点后面的加入购物车。
在这里插入图片描述
个人中心
在这里插入图片描述

后台的管理界面

登录地址:http://localhost/admin/login.php
用户名/密码:admin/123456
在这里插入图片描述

后台管理 即可满足管理系统的通常功能。
在这里插入图片描述
分类管理
在这里插入图片描述
书的管理
在这里插入图片描述

用户管理(客户)
在这里插入图片描述
书评

在这里插入图片描述

数据库表结构

在这里插入图片描述

项目目录如图:

在这里插入图片描述

代码部分:

主页

页面都用到的连数据库的部分
在这里插入图片描述

这里有一个进入前面的

<?phpinclude '../../public/common/conn.php';include '../public/session.php';$sql="select book.*,class.name cname from book,class where book.class_id=class.id and book.supplier=0 order by book.id";$rst=mysql_query($sql);$size = 4;$hangnum = mysql_num_rows($rst);if($hangnum == 0){echo "暂无图书";}else{$page_num = ceil($hangnum/$size);if(@$_GET['page_id']){$page_id = $_GET['page_id'];$start = ($page_id-1)*$size;}else{$page_id = 1;$start = 0;}$fenye_sel = "select book.*,class.name cname from book,class where book.class_id=class.id and book.supplier=0 order by book.id limit $start,$size";$fenye_add = mysql_query($fenye_sel);
?><!doctype html>
<html lang="en">
<head><meta charset="UTF-8"><title>index</title><link rel="stylesheet" href="../public/css/index.css">
</head>
<body><div class="main"><table><tr><th>编号</th><th>名称</th><th>作者</th><th>图片</th><th>定价</th><th>本站价</th><th>库存</th><th>销售量</th><th>货架</th><th>推荐</th><th>分类</th><th>修改</th><th>删除</th></tr><?phpwhile($row=mysql_fetch_assoc($fenye_add)){echo "<tr>";echo "<td>{$row['id']}</td>";echo "<td>{$row['name']}</td>";echo "<td>{$row['writer']}</td>";echo "<td><img src='../../public/uploads/thumb_{$row['img']}' width='50px'></td>";echo "<td>{$row['oldprice']}</td>";echo "<td>{$row['nowprice']}</td>";echo "<td>{$row['stock']}</td>";echo "<td>{$row['sales']}</td>";if($row['shelf']){echo "<td>上架</td>";}else{echo "<td>下架</td>";}if($row['recommend']){echo "<td>推荐</td>";}else{echo "<td>不推荐</td>";}echo "<td>{$row['cname']}</td>";echo "<td><a href='change.php?id={$row['id']}'>修改</a></td>";echo "<td><a href='delete.php?id={$row['id']}&img={$row['img']}'>删除</a></td>";echo "</tr>";}?><tr><td colspan="13"><?phpecho "本站共有&nbsp;".$hangnum."&nbsp;条记录&nbsp;";echo "本页显示&nbsp;".$size."&nbsp;条&nbsp;";echo "第&nbsp;".$page_id."&nbsp;页/共&nbsp;".$page_num."&nbsp;页&nbsp;";if($page_id>=1 && $page_num>1){echo "<a href=?page_id=1>首页&nbsp;&nbsp;</a>";}if($page_id>1 && $page_num>1){echo "<a href=?page_id=".($page_id-1).">上一页&nbsp;&nbsp;</a>";}if($page_id>=1 && $page_num>$page_id){echo "<a href=?page_id=".($page_id+1).">下一页&nbsp;&nbsp;</a>";}if($page_id>=1 && $page_num>1){echo "<a href=?page_id=".$page_num.">尾页</a>";}echo "</td>";echo "</tr>";}?></table></div></body>
</html>

后台菜单

<?phpinclude 'public/session.php';
?>
<!doctype html>
<html lang="en">
<head><meta charset="UTF-8"><title>left</title><style>*{font-family: 黑体;text-decoration:none;}h4{cursor: pointer;/*光标形状是手指*/background:url(public/img/leader-bg.jpg) no-repeat center;width: auto;height: 25px;text-align: center;color:#fff;font-size: 14px;margin-top: 20px;padding-top: 6px;}h4:hover{color:#01afbe;background: #fff;}div{display: none;}p{padding-left:15px;text-align: center;}p a{color:#01afbe;font-size: 14px;}</style><script src='public/js/jquery.js'></script>
</head>
<body><h4>管理员管理</h4><div><p><a href='./webmaster/index.php' target='right'>|-查看管理员</a></p><p><a href='./webmaster/add.php' target='right'>|-添加管理员</a></p></div><h4>用户管理</h4><div><p><a href='./user/index.php' target='right'>|-查看用户</a></p><p><a href='./user/add.php' target='right'>|-添加用户</a></p></div><h4>分类管理</h4><div><p><a href='./class/index.php' target='right'>|-查看分类</a></p><p><a href='./class/add.php' target='right'>|-添加分类</a></p></div><h4>图书管理</h4><div><p><a href='./book/index.php' target='right'>|-查看本站供书</a></p><p><a href='./book/useroffer.php' target='right'>|-查看用户供书</a></p><p><a href='./book/putaway.php' target='right'>|-查看上架图书</a></p><p><a href='./book/soldout.php' target='right'>|-查看下架图书</a></p><p><a href='./book/add.php' target='right'>|-添加图书           </a></p></div><h4>评论管理</h4><div><p><a href='./comment/index.php' target='right'>|-查看评论</a></p></div><h4>订单状态</h4><div><p><a href='./status/index.php' target='right'>|-查看状态</a></p><p><a href='./status/add.php' target='right'>|-添加状态</a></p></div><h4>订单管理</h4><div><p><a href='./indent/index.php' target='right'>|-查看订单</a></p></div><h4>系统管理</h4><div><p><a href="logout.php" target='_top' onclick="return confirm('您确认要退出管理系统吗?')">|-退出系统</a></p><p><a href="../index.html" target='_blank'>|-网站首页</a></p></div>
</body>
<script>
$('h4').click(function(){$(this).next().toggle();   //toggle()方法:切换<p>元素的显示与隐藏$('div').not($(this).next()).hide();
});
</script>
</html>

右边工作区

<?phpinclude 'public/session.php';
?>
<!doctype html>
<html lang="en">
<head><meta charset="UTF-8"><title>right</title><style>*{font-family:"黑体";}body{padding:15px;}</style></head>
<body><img src="public/img/welc.jpg" width="100%">
</body>
</html>

数据库的配置文件conn.php。

<?phpmysql_connect('127.0.0.1','root','123456');mysql_query('set names utf8');mysql_select_db('qzss');
?>

参考

基于jsp的塞北村镇旅游网站的设计与实现–【毕业论文】
https://blog.csdn.net/dearmite/article/details/131962993

配套资源

PHP-Mysql好运图书管理系统–【白嫖项目】
https://download.csdn.net/download/dearmite/88137223

作业:

把项目搭建起来,完成其它自己想到的功能。比如调用当当书城接口,比如说生成电子书,比如说将书里的内容做成面包,吃下即可掌握书里的知识。
只有魔法才能打败魔法!
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/17155.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【c语言初级】c++基础

文章目录 1. C关键字2. 命名空间2.1 命名空间定义2.2 命名空间使用 3. C输入&输出4. 缺省参数4.1 缺省参数概念4.2 缺省参数分类 5. 函数重载5.2 C函数重载的原理--名字修饰采用C语言编译器编译后结果 1. C关键字 C是在C的基础之上&#xff0c;容纳进去了面向对象编程思想…

android studio 找不到符号类 Canvas 或者 错误: 程序包java.awt不存在

android studio开发提示 解决办法是&#xff1a; import android.graphics.Canvas; import android.graphics.Color; 而不是 //import java.awt.Canvas; //import java.awt.Color;

JNPF-一个真正可拓展的低代码全栈框架

一、前言 尽管现在越来越多的人开始对低代码开发感兴趣&#xff0c;但已有低代码方案的一些局限性仍然让大家有所保留。其中最常见的担忧莫过于低代码缺乏灵活性以及容易被厂商锁定。 显然这样的担忧是合理的&#xff0c;因为大家都不希望在实现特定功能的时候才发现低代码平台…

iOS--frame和bounds

坐标系 首先&#xff0c;我们来看一下iOS特有的坐标系&#xff0c;在iOS坐标系中以左上角为坐标原点&#xff0c;往右为X正方向&#xff0c;往下是Y正方向如下图&#xff1a; bounds和frame都是属于CGRect类型的结构体&#xff0c;系统的定义如下&#xff0c;包含一个CGPoint…

ConcurrentHashMap底层具体实现以及实现原理

问题描述 ConcurrentHashMap 底层具体实现以及实现原理 分析维度&#xff1a; 1. ConcurrentHashMap的整体架构 2. ConcurrentHashMap的基本功能 3. ConcurrentHashMap在性能方面的优化 解决方案&#xff1a; ConcurrentHashMap 的整体架构 如图所示&#xff0c;这个是 Concu…

清风数学建模——层次分析法

层次分析法 文章目录 层次分析法评价类问题可以用打分来解决1.通过查阅资料选定指标2.画出权重表格并填写2.1.判断矩阵一致矩阵2.3一致性检验的步骤先算一致性指标CI根据表格查找n对应的RI&#xff08;平均随机一致性指标&#xff09;&#xff0c;表格一般会在题目中给出计算一…

【iOS】—— UIKit相关问题

文章目录 UIKit常用的UIKit组件懒加载的优势 CALayer和UIView区别关系 UITableViewUITableView遵循的两个delegate以及必须实现的方法上述四个必须实现方法执行顺序其他方法的执行顺序&#xff1a; UICollectionView和UITableView的区别UICollectionViewFlowLayout和UICollecti…

uniapp scroll-view显示滚动条

在style中添加样式&#xff1a; ::v-deep ::-webkit-scrollbar {/* 滚动条整体样式 */display: block;width: 10rpx !important;height: 10rpx !important;-webkit-appearance: auto !important;background: transparent;overflow: auto !important;}::v-deep ::-webkit-scroll…

大数据Flink(五十一):Flink的引入和Flink的简介

文章目录 Flink的引入和Flink的简介 一、Flink的引入 1、第1代——Hadoop MapReduce

RK809 电源管理芯片配置3-RK3568

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言RK809 芯片概述认识DCDC和LDORK809的引脚RK809 的功能电源管理的概念配置内核驱动电源域IO 电源域配置方法前言 前面提到编译的时候需要正确配置电源,RK3568的电源管理芯片是RK809,下面就来…

精选算法题(4)——字符串比较

作者&#xff1a;翟天保Steven 版权声明&#xff1a;著作权归作者所有&#xff0c;商业转载请联系作者获得授权&#xff0c;非商业转载请注明出处 题目描述&#xff1a; 好久没做题目了&#xff0c;近期刷抖音碰到一个题目&#xff0c;乍一看不是很难&#xff0c;但是手生了&a…

HTTP——HTTP报文内的HTTP信息

HTTP 通信过程包括从客户端发往服务器端的请求及从服务器端返回客户端的响应。本章就让我们来了解一下请求和响应是怎样运作的。 HTTP 一、HTTP报文二、请求报文及响应报文的结构三、编码提升传输速率1、报文主体和实体主题的差异2、压缩传输的内容编码3、分割发送的分块传输编…

HCIP——前期综合实验

前期综合实验 一、实验拓扑二、实验要求三、实验思路四、实验步骤1、配置接口IP地址2、交换机配置划分vlan10以及vlan203、总部分部&#xff0c;骨干网配置OSPF分部总部骨干网 4、配置BGP建立邻居关系总部骨干网分部 5、发布用户网段6、将下一跳改为本地7、允许AS重复8、重发布…

【Linux】 UDP网络套接字编程

&#x1f34e;作者&#xff1a;阿润菜菜 &#x1f4d6;专栏&#xff1a;Linux系统网络编程 文章目录 一、网络通信的本质&#xff08;port标识的进程间通信&#xff09;二、传输层协议UDP/TCP认识传输层协议UDP/TCP网络字节序问题&#xff08;规定大端&#xff09; 三、socket编…

第十三章 利用PCA简化数据

文章目录 第十三章 利用PCA简化数据13.1降维技术13.2PCA13.2.1移动坐标轴 13.2.2在NumPy中实现PCA13.3利用PCA对半导体制造数据降维 第十三章 利用PCA简化数据 PCA&#xff08;Principal Component Analysis&#xff0c;主成分分析&#xff09;是一种常用的降维技术&#xff0…

剑指offer41.数据流中的中位数

我一开始的想法是既然要找中位数&#xff0c;那肯定要排序&#xff0c;而且这个数据结构肯定要能动态的添加数据的&#xff0c;肯定不能用数组&#xff0c;于是我想到了用优先队列&#xff0c;它自己会排序都不用我写&#xff0c;所以addNum方法直接调用就可以&#xff0c;但是…

MAC电脑设置charles,连接手机的步骤说明(个人实际操作)

目录 一、charles web端设置 1. 安装charles之后&#xff0c;先安装证书 2. 设置 Proxy-Proxy Settings 3. 设置 SSL Proxying 二、手机的设置 1. 安卓 2. ios 资料获取方法 一、charles web端设置 1. 安装charles之后&#xff0c;先安装证书 Help-SSL Proxying-Inst…

优化基于tcp,socket的ftp文件传输程序

原始程序&#xff1a; template_ftp_server_old.py&#xff1a; import socket import json import struct import os import time import pymysql.cursorssoc socket.socket(socket.AF_INET, socket.SOCK_STREAM) HOST 192.168.31.111 PORT 4101 soc.bind((HOST,PORT)) p…

是面试官放水,还是公司实在是太缺人?这都没挂,华为原来这么容易进...

华为是大企业&#xff0c;是不是很难进去啊&#xff1f;” “在华为做软件测试&#xff0c;能得到很好的发展吗&#xff1f; 一进去就有9.5K&#xff0c;其实也没有想的那么难” 直到现在&#xff0c;心情都还是无比激动&#xff01; 本人211非科班&#xff0c;之前在字节和腾讯…

iphone卡在恢复模式怎么办?修复办法分享!

iPhone 卡在恢复屏幕问题是 iPhone 用户在软件更新或恢复期间的常见问题。如果你也遇到此问题&#xff0c;不要着急&#xff0c;接下来我们将探讨 iPhone 卡在恢复屏幕上的主要原因&#xff0c;以及如何轻松修复它。 iPhone卡在恢复屏幕问题上没有一个特别的原因&#xff0c;但…