php實現圖書管理系統詳細介紹
點選進入“PHP開源社群”
免費獲取進階面試、文件、影片資源
又是一年畢業季加期末了,應該有人需要吧,需要的文章結尾 點個贊 可好?
一、專案功能概括
1、讀者:
-
檢視在館圖書狀態;
-
借閱圖書;
-
歸還圖書;
-
檢視自己的借閱記錄;
-
檢視自己的罰款記錄;
-
修改密碼。
2、普通管理員
-
檢視圖書在館狀態;
-
檢視圖書借閱記錄;
-
上架新書;
-
下架新書;
-
檢視圖書損失記錄;
-
記錄罰款資訊;
-
檢視使用者借閱記錄;
-
檢視罰款記錄;
-
查詢讀者資訊;
-
新增讀者;
-
刪除讀者;
-
修改密碼。
3、超級管理員:
擁有普通管理員的全部功能;
檢視普通管理員資訊;
新增普通管理員;
刪除普通管理員。
4、網站功能補充說明:
能動態顯示圖書館線上人數、可借閱書籍總數以及總借閱次數;
提供便捷的搜尋功能,如可以通過模糊搜尋來搜尋書籍資訊、讀者資訊等;
網站首頁會提供今日熱點的超連結;
讀者非正常歸還圖書後,經管理員記錄罰款資訊後會自動在讀者主頁中的罰款記錄中顯示;
登入時只要輸入賬號密碼即可,後臺會自動判斷該賬號為讀者、普通管理員還是超級管理員,進而推送到對應的網頁。
這篇文章主要以APMServ來介紹,希望有需要的朋友也能夠使用APMServ來執行,避免不必要的問題出現。
二、執行指南
1、以管理員身份執行APMServ,啟動伺服器,點選管理MySQL資料庫;
2、將資料庫設計原始碼(.sql檔案)中的資料匯入資料庫當中;
3、最後點選訪問使用者本地網站,找到我們解壓後的原始碼的目錄並點選(記得事先將專案檔案放到APMServ5.2.6\www\htdocs目錄下);
4、在彈出登入介面上輸入賬號密碼登入即可。
(如輸入讀者賬號:20151000001 密碼:pwdpwd
普通管理員賬號:normal1 密碼:pwdpwd
超級管理員賬號:super0 密碼:superpwd)
建立資料庫
drop database if exists library;
CREATE DATABASE `library` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
USE library;
-- 書籍資訊
CREATE TABLE book
(
bookNo varchar(10) primary key,
bookName varchar(20)not null ,
importDate date not null ,
inLibStatus enum('available','unavailable','locked') default 'available',
bookPrice float(2) not null ,
frequency int not null ,
category varchar(20) not null
);
-- 人員資訊
CREATE TABLE admin
(
adminno varchar(15) primary key,
adminname varchar(20) not null,
password varchar(10) not null,
level enum('reader','normal', 'super')
);
-- 讀者資訊
CREATE TABLE reader
(
readerNo varchar(15) primary key,
readerName varchar(20) not null,
password varchar(10) not null
);
-- 借閱資訊
CREATE TABLE borrowBook
(
serialNumber int primary key AUTO_INCREMENT,
readerNo varchar(15) not null,
bookNo varchar(10) not null,
borrowDate date not null,
foreign key (readerNo) references reader(readerNo),
foreign key (bookNo) references book(bookNo)
);
-- 歸還資訊
CREATE TABLE returnBook
(
serialNumber int primary key,
readerNo varchar(15) not null,
bookNo varchar(10) not null,
returnDate date not null,
foreign key (readerNo) references reader(readerNo),
foreign key (bookNo) references book(bookNo),
foreign key (serialNumber) references borrowBook(serialNumber)
);
-- 罰款資訊
CREATE TABLE fine
(
serialNumber int primary key,
readerNo varchar(15) not null,
bookNo varchar(10) not null,
fine_money float(2) check (fine_money>=0),
lossResult varchar(20) not null,
foreign key (readerNo) references reader(readerNo),
foreign key (bookNo) references book(bookNo)
);
-- 遺失資訊
CREATE TABLE loss
(
bookNo varchar(10) primary key,
lossResult enum('normal','outdated','broken','others','lost'),
recordDate date not null,
foreign key (bookNo) references book(bookNo)
);
CREATE INDEX book_IND on book (bookNo);
CREATE INDEX reader_IND on reader (readerNo);
初始化資料
INSERT INTO `admin` (`adminno`,`adminname`, `password`, `level`) VALUES ('20151000001', '吳彥祖', 'pwdpwd', 'reader'),('normal1', '管理員1', 'pwdpwd', 'normal'),('normal2', '管理員2', 'pwdpwd', 'normal'),('normal3', '管理員3', 'pwdpwd', 'normal'), ('super0', '超級管理員', 'superpwd', 'super'),('20151000002', '陳冠希', 'pwdpwd', 'reader'), ('20151000003', '彭于晏', 'pwdpwd', 'reader');
INSERT INTO `reader` (`readerNo`, `readerName`, `password`) VALUES ('20151000001', '吳彥祖', 'pwdpwd'), ('20151000002', '陳冠希', 'pwdpwd'), ('20181000003', '彭于晏', 'pwdpwd');
INSERT INTO `book` (`bookNo`, `bookName`, `importDate`, `inLibStatus`, `bookPrice`, `frequency`, `category`) VALUES ('book1', '老人與海','2020-11-28', 'available','40', '0', '英文'), ('book2', '童年','2020-11-23', 'available','43', '0', '英文'), ('book3', '巴黎聖母院','2020-11-23', 'available','44', '0', '法語'), ('book4', '紅與黑','2020-11-28', 'available','40', '0', '英文'), ('book5', '悲慘世界','2020-11-23', 'available','43', '0', '法語'), ('book6', '約翰·克利斯朵夫','2020-11-23', 'available','52', '0', '日語'),('book7', '教父1','2020-11-28', 'available','40', '0', '英文'), ('book8', '教父2','2020-11-23', 'available','43', '0', '英文'), ('book9', '教父3','2020-11-23', 'available','44', '0', '英文');
三、功能展示(不全放了,看一下大概)
1、讀者
檢視在館圖書狀態
檢視自己的借閱記錄
歸還圖書
2、普通管理員
檢視圖書借閱記錄
上架新書
檢視圖書損失記錄
記錄罰款資訊
檢視使用者借閱記錄
查詢讀者資訊
新增讀者
刪除讀者
3、超級管理員
擁有普通管理員的全部功能,檢視普通管理員資訊
新增普通管理員、 刪除普通管理員
*宣告:本文於網路整理,版權歸原作者所有,如來源資訊有誤或侵犯權益,請聯絡我們刪除或授權事宜。
END
PHP開源社群
掃描關注 進入”PHP資料“
免費獲取進階
面試、文件、影片資源
點選“檢視原文”獲取更多
- MySQL中 8 種常見的 SQL 錯誤用法
- 一起來用用 php的生成器 yield
- PHP 記憶體溢位 ?如何解決呢 ?
- 為速度而生:PHP 與 Golang 的合體 —— RoadRunner
- PHP是如何實現訊息佇列(RabbitMQ)的
- 現在應該開始使用的 10 個 PHP 8.1 功能
- 談下php如何縮短介面響應時間
- PHP是如何實現多伺服器SESSION共享
- MySQL間隙鎖死鎖問題
- Hook技術簡介
- 你會使用 Linux 編輯器 Vim 嗎?
- php實現圖書管理系統詳細介紹
- 面試官問:Redis 快取都有哪些異常,各自有哪些解決方案
- 面試被問到:關於php檔案包含你瞭解多少?
- 一張小圖看盡 Nginx
- php快速搭建swoole玩轉協程
- Laravel 使用Guzzle執行HTTP請求
- PHP中的異常處理機制
- 基於redis的分散式鎖詳解
- 如何通過查原始碼的方式解決程式設計中遇到的問題?