概述
php+mysql实现简单的图书管理系统ps:前端页面设计得有点丑,将就着用,哈哈哈。不具备用户和管理员功能,如要实现只需将首页的功能根据数据库中账号信息选择性使用就可以了。数据库关系设计什么的完全没考虑(借图)文章目录php+mysql实现简单的图书管理系统首页代码**homepage.html**成为一员(类似于注册会员)代码**readerinfo.html****addreader.php**采购书籍代码**addbook.html****addbook.php**查看书籍代码**allboPHP+MysqL实现简单的图书管理系统
ps:前端页面设计得有点丑,将就着用,哈哈哈。不具备用户和管理员功能,如要实现只需将首页的功能根据数据库中账号信息选择性使用就可以了。数据库关系设计什么的完全没考虑
工具
数据库表,我弄了5个
readerinfo,记录读者信息
bookinfo,记录书籍信息
b_r,记录读者借阅详细信息
add_log,记录添加书籍的信息
delete_log,记录删除书籍的信息
首页
代码
homepage.HTML
这个可以自己来
成为一员(类似于注册会员)
思路: HTML表单通过post方法向PHP文件传递两个参数,ID和姓名,PHP文件接受数据后与数据库建立连接,向用户表中插入数据。用户表中available项用于标识是否有借阅资格,默认为1,借书超过期限后设置为0,下一次借书前会检查该项的值,如果为0将不会有资格借书
reader表
reader_ID+reader_name+available
代码
readerinfo.HTML
<!DOCTYPE HTML>
<HTML>
<head>
<Meta charset="utf-8">
<Title>to be a reader</Title>
</head>
<body>
<form method="post" action="addreader.PHP">
编号(reader_ID):<input type="text" name="ID" size="10"><br>
姓名(reader_name):<input type="text" name="name" size="30">
<input type="submit" name="join" value="加入"><br><br>
<a href="homepage.HTML">回主页</a>
</form>
</body>
</HTML>
addreader.PHP
<?PHP
$host = 'localhost';
$username = '';//数据库用户名
$password = '';//数据库密码
$dbname = '';//保存数据的数据库名称
$ID = $_POST['ID'];
$name = $_POST['name'];
$MysqL = new MysqLi($host, $username, $password, $dbname);
if ($MysqL->connect_errno) {
dIE('数据库连接失败:' . $MysqL->connect_errno);
} else {
$MysqL->set_charset('UTF-8'); // 设置数据库字符集
$sql = "INSERT INTO reader (reader_ID,reader_name) VALUES ('$ID','$name')"; // sql 语句
$result = $MysqL->query($sql);
if ($result)
echo "<script>alert('information added successfully!')</script>";
else echo "Failed to add,back to add again.<br>";
$MysqL->close();
}
?>
<a href="readerinfo.HTML">继续加入</a> 或者 <a href="homepage.HTML">回到首页</a>
采购书籍
网页端
数据库中bookinfo表
book_ID+book_Title+author+on_shelf+num
代码
addbook.HTML
<!DOCTYPE HTML>
<HTML>
<head>
<Meta charset="utf-8">
<Title>Add book</Title>
</head>
<body>
<form method="post" action="addbook.PHP">
设置书号(book_ID):<input type="text" name="ID" size="5"><br>
书名(book_Title):<input type="text" name="name" size="30"><br>
作者(author):<input type="text " name="author" size="20"><br>
数量(num):<input type="number" min="1" name="num">
<input type="submit" name="add" value="添加"><br>
</form>
</body>
</HTML>
addbook.PHP
<?PHP
$host = 'localhost';
$username = '';//数据库用户名
$password = '';//数据库密码
$dbname = '';//用于保存数据的数据库
$MysqL = new MysqLi($host, $dbname);
$Title = $_POST['name'];
$Title_ID = $_POST['ID'];
$author = $_POST['author'];
$num = $_POST['num'];
if ($MysqL->connect_errno) {
dIE('数据库连接失败:' . $MysqL->connect_errno);
} else {
$sql = "INSERT into bookinfo (book_ID,book_Title,author,num)
values ('$Title_ID','$Title','$author',$num)";
$result = $MysqL->query($sql);
if ($result)
echo "<script>alert('添加成功')</script>";
else echo "Failed to add,back to add again.<br>";
$MysqL->close();
}
?>
<br>
<a href="addbook.HTML">返回继续添加</a> or <a href="homepage.HTML">返回首页</a>
查看书籍
思路: 在PHP文件中加入HTML内容,用于将查询到的数据以表格的形式显示出来
代码
allbook.PHP
<?PHP
$host = 'localhost';
$username = '';
$password = '';
$dbname = '';
$MysqL = new MysqLi($host, $dbname);
if ($MysqL->connect_errno) {
dIE('数据库连接失败:' . $MysqL->connect_errno);
} else {
$sql = "select * from bookinfo";
$result = $MysqL->query($sql);
}
?>
<!DOCTYPE HTML>
<HTML>
<head>
<Meta charset="UTF-8">
<Title>All information</Title>
</head>
<body>
<table wIDth="800px" border="1" style="border-collapse: collapse;">
<thead>
<th>书号</th>
<th>书名</th>
<th>作者</th>
<th>是否可借</th>
<th>现存量</th>
</thead>
<?PHP
while ($row = MysqLi_fetch_row($result)) {
?>
<tr>
<td align="center"><?PHP echo $row[0]; ?></td>
<td align="center"><?PHP echo $row[1]; ?></td>
<td align="center"><?PHP echo $row[2]; ?></td>
<td align="center"><?PHP echo $row[3]; ?></td>
<td align="center"><?PHP echo $row[4]; ?></td>
</tr>
<?PHP
}
?>
</table>
<br>
<a href="homepage.HTML">返回首页</a>
</body>
</HTML>
借阅书籍
思路: 首先根据读者ID确认是否有资格进行借阅,readerinfo表中不存在记录或者存在记录但available项为0时,没有资格借阅,将回到主页,可以选择成为一员功能添加用户信息,再进行借阅,但是对于借书不还的来添加信息后继续借阅,没办法,哎。若有资格将进入借阅页面。为了避免重复输入ID,使用PHP的session函数将检测时传递的ID保存,向数据库表b_r插入数据时再用session获得该ID,在文件最后清除这个ID缓存。
如果借书的时候,在架书籍现存量为0,就会提示无法借阅,如果恰有一本,需要将书本的现存量减1,将是否可借调整为否
表b_r用于记录借阅情况,start_date用于记录借阅开始时间,默认为当下时间:CURRENT_TIMESTAMP
reader_ID+book_ID+start_date+keep_time
资格检查
没资格
有资格
现存量为0时进行借阅的提示,然后回到主页
代码
ReaderCheck.HTML
<!DOCTYPE HTML>
<HTML>
<head>
<Meta charset="utf-8">
<Title>Check</Title>
</head>
<body>
<form method="post" action="Check.PHP">
请输入您的读者号,确认您有资格借阅图书<br>
<input type="text" name="ID">
<input type="submit" value="Check"><br>
<br>
<a href="homepage.HTML">或者直接回到主页</a>
</form>
</body>
</HTML>
Check.PHP
<?PHP
session_start();
$host = 'localhost';
$username = '';
$password = '';
$dbname = '';
$ID = $_POST['ID'];
$_SESSION['ID']=$ID;//保存读者ID,供borrowbook.PHP使用
$url1="borrowbook.HTML";
$url2="homepage.HTML";
$MysqL = new MysqLi($host, $dbname);
if ($MysqL->connect_errno) {
dIE('数据库连接失败:' . $MysqL->connect_errno);
} else {
$MysqL->set_charset('UTF-8'); // 设置数据库字符集
$sql = "SELECT available from reader where reader_ID=$ID"; // sql 语句
$result = $MysqL->query($sql);
$row = MysqLi_fetch_row($result);
if ($row[0]==1)
{
$sql1="SELECT reader_name from reader where reader_ID=$ID";
$result1 = $MysqL->query($sql1);
$row1 = MysqLi_fetch_row($result1);
echo "<script>alert('欢迎您,$row1[0]')</script>";
echo "<script language='JavaScript' type='text/JavaScript'>";
echo "window.location.href='$url1'";//跳转到借书页面
echo "</script>";
$MysqL->close();
}
else {
echo "<script>alert('抱歉,您暂时还没有资格借阅')</script>";
echo "<script language='JavaScript' type='text/JavaScript'>";
echo "window.location.href='$url2'";//回到首页
echo "</script>";
$MysqL->close();
}
}
borrowbook.HTML
<!DOCTYPE HTML>
<HTML>
<head>
<Meta charset="utf-8">
<Title>借书</Title>
<style type="text/CSS">
h1{
background-color: #678;
color:white;
text-align: center;
}
body{
height: 100%;
wIDth: 100%;
border: none;
overflow-x: hIDden;
}
div{
wIDth:100%;
text-align: center;
}
</style>
</head>
<body>
<h1>借书</h1>
<div>
<form method="post" action="borrowbook.PHP">
借阅书号:<input type="text" name="book_ID"/>
借阅时间(天):<input type="number"min="0" name="keep_time">
<input type="submit" value="借书"/>
</form>
</div>
</body>
</HTML>
borrowbook.PHP
<?PHP
session_start();
$host = 'localhost';
$username = '';
$password = '';
$dbname = '';
$ID=$_SESSION['ID'];//读取读者ID
$book_ID=$_POST['book_ID'];//读取借阅书号
$keep=$_POST['keep_time'];
$url1="homepage.HTML";
$MysqL = new MysqLi($host, $dbname);
if ($MysqL->connect_errno) {
dIE('数据库连接失败:' . $MysqL->connect_errno);
} else{
$sql1="SELECT num from bookinfo where book_ID=$book_ID";
$result1=$MysqL->query($sql1);
$row1=MysqLi_fetch_row($result1);
if($row1[0]==0){
echo "<script>alert('这本书没有啦')</script>";
echo "<script language='JavaScript' type='text/JavaScript'>";
echo "window.location.href='$url1'";//回到首页
echo "</script>";
$MysqL->close();
}
if($row1[0]==1){
$sql2="UPDATE bookinfo SET num=0,on_shelf='否' where book_ID='$book_ID'";
$sql3="INSERT INTO b_r(reader_ID,book_ID,keep_time) VALUES($ID,$book_ID,$keep)";
$result2=$MysqL->query($sql2);
$result3=$MysqL->query($sql3);
if($result2&&$result3){
echo "<script>alert('借阅成功')</script>";
echo "<script language='JavaScript' type='text/JavaScript'>";
echo "window.location.href='$url1'";//跳转到首页
echo "</script>";
$MysqL->close();
}else{
echo "<script>alert('借阅失败')</script>";
echo "<script language='JavaScript' type='text/JavaScript'>";
echo "window.location.href='$url1'";//跳转到首页
echo "</script>";
$MysqL->close();
}
}
if($row1[0]>1){
$sql4="INSERT INTO b_r(reader_ID,$keep)";
$sql5="UPDATE bookinfo SET num=num-1 where book_ID='$book_ID'";
$result4=$MysqL->query($sql4);
$result5=$MysqL->query($sql5);
if($result4&&$result5){
echo "<script>alert('借阅成功')</script>";
echo "<script language='JavaScript' type='text/JavaScript'>";
echo "window.location.href='$url1'";//跳转到首页
echo "</script>";
}
else{
echo "<script>alert('借阅失败')</script>";
echo "<script language='JavaScript' type='text/JavaScript'>";
echo "window.location.href='$url1'";//跳转到首页
echo "</script>";
}
}
}
$MysqL->close();
unset($_SESSION['ID']);
?>
淘汰书籍
bookinfo表中的book_ID唯一确定一本书,根据ID号进行淘汰,如果要淘汰的数量超过了现存量,现存量改为0,on_shelf改为否
代码
delete.HTML
<!DOCTYPE HTML>
<HTML>
<head>
<Meta charset="utf-8">
<Title>删除</Title>
<style>
h1{
background-color: #73EFE1;
color:red;
text-align: center;
}
</style>
</head>
<body>
<form onsubmit="return submit_sure()" method="post" action="delete.PHP" >
<h1>淘汰书籍</h1>
<div align="center">
书号:<input type="text" name="ID" size="20" ><br>
数量:<input type="number" min="0" size="10" name="num">
<br><br>
<input type="submit" value="确定">
</div>
</form>
</body>
</HTML>
<script language="JavaScript">@H_130_4034@@H_53_4035@
function submit_sure(){
var gnl=confirm("确定删除?");
if(gnl==true){
return true;
}else{
return false;
}
}
</script>
delete.PHP
<?PHP
$host = 'localhost';
$username = '';
$password = '';
$dbname = '';
$ID = $_POST['ID'];
$num = $_POST['num'];
$MysqL = new MysqLi($host, $dbname);
if ($MysqL->connect_errno) {
dIE('数据库连接失败:' . $MysqL->connect_errno);
} else {
$sql0="SELECT * from bookinfo where book_ID=$ID";
$result0=$MysqL->query($sql0);
$row = MysqLi_fetch_row($result0);
if($row[4]<=$num){
$sql1 = "UPDATE bookinfo SET num=0,on_shelf='否' WHERE book_ID=$ID";
$result1=$MysqL->query($sql1);
if ($result1) {
echo "<script>alert('操作完成')</script>";
} else {
echo "<script>alert('操作失败')</script>";
}
}else{
$sql2="UPDATE bookinfo SET num=num-$num WHERE book_ID=$ID";
$result2=$MysqL->query($sql2);
if ($result2)
{
echo "<script>alert('操作完成')</script>";
} else
{
echo "<script>alert('操作失败')</script>";
}
}
$MysqL->close();
}
?>
<a href="delete.HTML">继续</a> 或者 <a href="homepage.HTML">回到首页</a>
归还书籍
还书时需要根据book_ID检测这本书有没有被人借阅,不同情况会进行提示。归还成功时需要将b_r表记录删除,同时若bookinfo表的on_shelf项为否,需改为是,然后将现存量加1
没有被借时提示
在借时提示
代码
returnbook.HTML
<!DOCTYPE HTML>
<HTML>
<head>
<Meta charset="utf-8">
<Title>还书</Title>
<style>
h1{
background-color: #678;
color:white;
text-align: center;
}
</style>
</head>
<body>
<h1>还书</h1>
<div align="center">
<form method="post" action="return.PHP">
输入要归还的书号:<input type="text" name="ID">
<input type="submit" value="确定">
</form>
</div>
</body>
</HTML>
return.PHP
<?PHP
$host = 'localhost';
$username = '';
$password = '';
$dbname = '';
$ID = $_POST['ID'];
$url1 = "homepage.HTML";
$MysqL = new MysqLi($host, $dbname);
if ($MysqL->connect_errno) {
dIE('数据库连接失败:' . $MysqL->connect_errno);
} else {
$sql1 = "SELECT book_ID from b_r where book_ID=$ID";
$result1 = $MysqL->query($sql1);
$row = MysqLi_fetch_row($result1);
if ($result1 && $row[0] == $ID) { //这本书的确在借
$sql6="UPDATE readerinfo set keep=keep-1 where reader_ID=$reader_ID";
$result6=$MysqL->query($sql6);
$sql2 = "DELETE from b_r where book_ID=$ID"; //清除b_r表记录
$result2 = $MysqL->query($sql2);
$sql3 = "SELECT on_shelf,num from bookinfo where book_ID=$ID"; //更改bookinfo表信息
$result3 = $MysqL->query($sql3);
$row1 = MysqLi_fetch_row($result3); //row1[0]=on_shelf=是/否,row1[1]=num=0/...
if ($row1[0] == '否' || $row1[1] == 0) { //这本书归还之前已经没有了
$sql4 = "UPDATE bookinfo SET on_shelf='是',num=num+1 where book_ID=$ID";
$result4 = $MysqL->query($sql4);
if ($result4) {
echo "<script>alert('归还成功')</script>";
echo "<script language='JavaScript' type='text/JavaScript'>";
echo "window.location.href='$url1'"; //跳转到首页
echo "</script>";
$MysqL->close();
} else {
echo "<script>alert('归还失败')</script>";
echo "<script language='JavaScript' type='text/JavaScript'>";
echo "window.location.href='$url1'"; //跳转到首页
echo "</script>";
$MysqL->close();
}
} else { //归还之前这本书还在架
$sql5 = "UPDATE bookinfo SET num=num+1 where book_ID=$ID";
$result5 = $MysqL->query($sql5);
if ($result5) {
echo "<script>alert('归还成功')</script>";
echo "<script language='JavaScript' type='text/JavaScript'>";
echo "window.location.href='$url1'"; //跳转到首页
echo "</script>";
$MysqL->close();
} else {
echo "<script>alert('归还失败')</script>";
echo "<script language='JavaScript' type='text/JavaScript'>";
echo "window.location.href='$url1'"; //跳转到首页
echo "</script>";
$MysqL->close();
}
}
} else {
echo "<script>alert('归还失败,因为这本书没有被借')</script>";
echo "<script language='JavaScript' type='text/JavaScript'>";
echo "window.location.href='$url1'"; //跳转到首页
echo "</script>";
$MysqL->close();
}
}
借阅情况
代码
Borrow.PHP
<?PHP
$host = 'localhost';
$username = '';
$password = '';
$dbname = '';
$MysqL = new MysqLi($host, $dbname);
if ($MysqL->connect_errno) {
dIE('数据库连接失败:' . $MysqL->connect_errno);
} else {
$sql = "select * from b_r";
$result = $MysqL->query($sql);
}
?>
<!DOCTYPE HTML>
<HTML>
<head>
<Meta charset="UTF-8">
<Title>All information</Title>
</head>
<body>
<table wIDth="800px" border="1" style="border-collapse: collapse;">
<thead>
<th>读者编号</th>
<th>书号</th>
<th>借阅时间</th>
<th>借阅天数</th>
</thead>
<?PHP
while ($row = MysqLi_fetch_row($result)) {
?>
<tr>
<td align="center"><?PHP echo $row[0]; ?></td>
<td align="center"><?PHP echo $row[1]; ?></td>
<td align="center"><?PHP echo $row[2]; ?></td>
<td align="center"><?PHP echo $row[3]; ?></td>
</tr>
<?PHP
}
?>
</table>
<br>
<a href="homepage.HTML">返回首页</a>
</body>
</HTML>
总结
以上是编程之家为你收集整理的php+mysql实现简单的图书管理系统(简单的数据库操作)全部内容,希望文章能够帮你解决php+mysql实现简单的图书管理系统(简单的数据库操作)所遇到的程序开发问题。
如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。