# PHP 图书管理系统
说明:模拟学校图书馆后台环境,只有管理员可以使用
名称:图书管理系统
颜色:
主色:白
副色:蓝
## 开发环境
网页制作软件:VSCode
数据库管理软件:Navicat Premium 15
服务器环境:Apache 2.4.39
PHP版本:php7.3.4nts
数据库版本:MySQL 5.7.26
## 技术栈
前端:HTML5 + CSS3 + Javascri-pt + Bootstrap4 + Jquery + Jquery.pagination
后端:PHP + MySQL
分页使用的是
JQuery Pagination插件
https://www.jq22.com/jquery-info5697
数据库文件地址 需自行修改
dbconfig.php
## 数据库
### library
数据库名:
名称:library
介绍:图书管理系统数据库
数据库表名:
名称:book
介绍:图书表
名称:user
介绍:用户表
名称:borrow
介绍:借阅表
名称:book_type
介绍:图书种类表
名称:operation_record
介绍:操作日志表
## 数据库结构
### book
| 列名 | 类型 | 大小 | 能否为空 | 描述 |
| -------- | ------- | ---- | -------- | ---------- |
| Id | int | 11 | 否 | Id |
| groups | varchar | 255 | 否 | 图书所属组 |
| name | varchar | 255 | 否 | 图书名 |
| author | varchar | 255 | 否 | 作者 |
| press | varchar | 255 | 否 | 出版社 |
| price | double | 10 | 否 | 价格 |
| quantity | int | 5 | 否 | 数量 |
| isbn | varchar | 13 | 否 | ISBN号码 |
### book_type
| 列名 | 类型 | 大小 | 能否为空 | 描述 |
| --------- | ------- | ---- | -------- | ---------- |
| Id | int | 11 | 否 | Id |
| type_name | varchar | 255 | 否 | 图书种类名 |
### borrow
| 列名 | 类型 | 大小 | 能否为空 | 描述 |
| -------- | -------- | ---- | -------- | ---------- |
| Id | int | 11 | 否 | Id |
| name | varchar | 255 | 否 | 书名 |
| isbn | varchar | 13 | 否 | ISBN 号码 |
| username | varchar | 255 | 否 | 借阅人名称 |
| id_card | varchar | 8 | 否 | 借阅人卡号 |
| phone | varchar | 11 | 否 | 借阅人手机 |
| time | datetime | 0 | 否 | 借阅时间 |
| r_time | datetime | 0 | 否 | 归还时间 |
### operation_record
| 列名 | 类型 | 大小 | 能否为空 | 描述 |
| --------- | -------- | ---- | -------- | -------- |
| Id | int | 11 | 否 | Id |
| time | datetime | 0 | 否 | 操作时间 |
| name | varchar | 255 | 否 | 名称 |
| book_name | varchar | 255 | 否 | 书名 |
| info | varchar | 255 | 否 | 操作信息 |
### user
| 列名 | 类型 | 大小 | 能否为空 | 描述 |
| -------- | ------- | ---- | -------- | ---------- |
| Id | int | 11 | 否 | Id |
| groups | varchar | 255 | 否 | 用户所属组 |
| name | varchar | 255 | 否 | 姓名 |
| username | varchar | 255 | 否 | 用户名 |
| password | varchar | 255 | 否 | 密码 |
| gender | varchar | 255 | 否 | 性别 |
| id_card | int | 8 | 否 | 借阅卡号 |
| phone | varchar | 11 | 否 | 手机号 |
| identity | varchar | 255 | 否 | 身份 |
## 后台管理
### 登录
用户输入管理员账号,前端页面传送数据到后端页面,判断输入的信息是否正确,不正确则返回,正确则登录成功并设置一个Session来保存用户登录信息
### 登出
点击登出功能按钮,删除用户 Session 信息,即可登出
### 日志信息
从数据库中以倒叙的方式显示前 50 条日志信息
### 系统管理
#### 添加图书种类
输入图书种类,若数据库中存在则不添加,不存在则添加
#### 删除图书种类
输入图书种类,若数据库中不存在则不删除,存在在删除
#### 修改管理员密码
输入新的管理员密码即可修改
### 用户管理
#### 增加用户
输入用户信息进行判断,后端判断输入的 借书卡号 或 手机号 是否存在于数据库中,若这两者其中一个存在于数据库当中,则不能添加新用户,反之添加新用户
#### 删除用户
管理员发送删除请求,发送要删除的用户 id 至服务端,服务端进行删除,并返回删除信息
#### 编辑用户
输入用户信息,后端判断输入的 借书卡号 或 手机号 是否存在于数据库中,若这两者其中一个存在于数据库当中,则不能编辑用户,反之编辑用户,未填写的信息不做修改
#### 查询用户
选择搜索组别,输入要搜索的信息,前端发送表单至后台,后台返回搜索的数据至前端
### 图书管理
#### 增加图书
输入用户信息进行判断,后端判断输入的 ISBN 号码是否存在于数据库中,若存在于数据库当中,则不能添加新用户,反之添加新用户
#### 删除图书
管理员发送删除请求,发送要删除的用户 id 至服务端,服务端进行删除,并返回删除信息
#### 编辑图书
输入用户信息,后端判断输入的 ISBN 号码是否存在于数据库中,若存在于数据库当中,则不能编辑图书,反之编辑图书,未填写的信息不做修改
#### 查询图书
选择搜索组别,输入要搜索的信息,前端发送表单至后台,后台返回搜索的数据至前端
### 借阅图书
先搜索图书信息,填写借阅人信息,发送表单至后端,后端先进行搜索图书的数量,如果为 0 则返回无库存不可借阅,再进行搜索借阅人信息,如果不存在则返回借阅人信息不存在,若库存大于 0 且借阅人信息存在,则借阅该图书
### 归还图书
管理员发送图书请求,发送要归还的图书 id 至服务端,服务端进行删除,并返回归还信息
### 超时查询
搜索超时未归还的书籍
QQ 1829697529 1021562451