php+mysql实现简单的图书管理系统(简单的数据库操作)

编程之家收集整理的这篇文章主要介绍了php+mysql实现简单的图书管理系统(简单的数据库操作)编程之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

php+mysql实现简单的图书管理系统ps:前端页面设计得有点丑,将就着用,哈哈哈。不具备用户和管理员功能,如要实现只需将首页的功能根据数据库中账号信息选择性使用就可以了。数据库关系设计什么的完全没考虑(借图)文章目录php+mysql实现简单的图书管理系统首页代码**homepage.html**成为一员(类似于注册会员)代码**readerinfo.html****addreader.php**采购书籍代码**addbook.html****addbook.php**查看书籍代码**allbo

PHP+MysqL实现简单的图书管理系统

ps:前端页面设计得有点丑,将就着用,哈哈哈。不具备用户管理员功能,如要实现只需将首页功能根据数据库中账号信息选择使用就可以了。数据库关系设计什么的完全没考虑

在这里插入图片描述

工具

  1. XAMPP
    下载地址, 附 一篇安装和配置的博文

    在这里插入图片描述

  2. sqlyog
    一个数据库管理软件下载地址

数据库表,我弄了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

on_shelf表示是否在架,添加认值为“是”

代码

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();
    }
}

借阅情况

查看书籍相似,将b_r表数据以表格的形式显示

代码

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实现简单的图书管理系统(简单的数据库操作)所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

PHP文章

“Ruby on Rails已死”言论甚嚣尘上后的三年,GitLab还没放弃它!
三分钟带各位揭秘黑客究竟是什么,以及想要成为黑客都需要具备哪些能力?
菜刀流量特征(最开始是明文传输,后来采用base64加密):PHP类WebShell链接流量如下图:第一:“eval”,eval函数用于执行传递的攻击payload,这是必不可少的;第二:(base64_decode($_POST[z0])),(base64_decode($_POST[z0]))将攻击payload进行Base64解码,因为菜刀默认是使用Base64编码,以避免被检测;第三:&amp;z0=QGluaV9zZXQ...,该部分是传递攻击payload,此参数z0对应$_
一、PHP开发 登录页面1.数据库搭建先在mysql数据库中创建一个test数据库login表:设置如下几个字段:id : 它是唯一的,类型为 int ,并选择主键。uesrname : 用户名,类型为 varchar, 长度为30。password : 密码,类型为 varchar, 长度为30。添加一个用于测试的用户名和密码插入了一个数据username为22222; password为222222.验证码发表一个产生png图片验证码的基本图像:1、产生一张png的图片..
文章目录前言第一章 PHP语言学习介绍1.1 PHP部署安装环境1.2 PHP代码工具选择第二章 PHP代码基本语法2.1 PHP函数知识介绍2.2 PHP常量变量介绍2.2.1 PHP变量知识:2.2.2 PHP常量知识:2.3 PHP注释信息介绍2.4 PHP数据类型介绍2.4.1 整形数据类型2.4.2 布尔数据类型2.4.3 字符串数据类型2.4.4 浮点型数据类型2.4.5 PHP数据类型之查看和判断数据类型2.5 PHP流程控制语句2.6 PHP算数运算方法2.6.1 PHP程序自加自减运算2.
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、文件目录二、管理员界面相关代码(PHP+CSS)1.admin.php2.admin.css三、增加功能四、删除功能(delete.php)五、多选删除功能(checkdelete.php)六、修改功能(insert.php)七、查询功能(search.php)八、数据库内容前言提示:本文采用PHP对数据库进行操作:本文就介绍了PHP实现对MySQL数据库的增删改查操作基础内容。提示:以下是本篇文章正文内容,下面
要求:完成以下页面的制作1、login.php:登录页面,存在权限类别(user和admin),登录成功后重定向到admin.php/user.php。2、admin.php:admin用户登录后访问的页面,只有admin用户登录后能够访问,若为非admin权限用户需重定向到登录页面。3、user.php:user用户登录后访问的页面,只有user用户登录后能够访问,若为非user权限用户需重定向到登录页面。4、logout.php:退出登录,退出登录后将重定向到登录页面。5、reg.
微信公众号搜索 “ 程序精选 ” ,选择关注!
微信公众号搜 "程序精选"关注