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

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

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_76_4034@@H_907_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>

解锁查看全部内容

付费后查看完整内容
限时 微信扫码支付 ¥9.9 19.9

总结

以上是编程之家为你收集整理的php+mysql实现简单的图书管理系统(简单的数据库操作)全部内容,希望文章能够帮你解决php+mysql实现简单的图书管理系统(简单的数据库操作)所遇到的程序开发问题。

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

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

PHP相关文章

零基础小白,到就业!入门到入土的网安学习路线!在各大平台搜的网安学习路线都太粗略了。。。。看不下去了!我把自己报班的系统学习路线,整理拿出来跟大家分享了!点击下图,福利!建议的学习顺序:一、网络安全学习普法(心里有个数,要进去坐几年!)1、了解并介绍《网络安全法》2、《全国人大常委会关于维护互联网安全的决定》3、《中华人民共和国计算机信息系统安全保护条例(2011 年修正)》4、《中华人民共和国计算机信息网络国际联网管理暂行规定》5、《计算机信息网络国际联网安全保护管理办法》6、《互联
使用数组构成 完全二叉树,来实现 堆 数据结构。
1、编写hello world脚本在这里插入代码片2、通过位置变量创建 Linux 系统账户及密码在这里插入代码片3、备份日志在这里插入代码片4、一键部署 LNMP(RPM 包版本)在这里插入代码片5、监控内存和磁盘容量,小于给定值时报警在这里插入代码片6、猜数字游戏在这里插入代码片7、检测本机当前用户是否为超级管理员,如果是管理员,则使用 yum 安装 vsftpd,如果不是,则提示您非管理员(使用字串对比版本)在这里插入代码片8、检测本机当前用户是否为超级管理员
三分钟带各位揭秘黑客究竟是什么,以及想要成为黑客都需要具备哪些能力?
先看演示~示例图:Ps.本人有点懒哈~ 就输出个成功算了吧~PHP实现登录注册index.php (首页)login.php (登录)register.php (注册)代码里面注释写很详细了哦~ 废话不多说 直接上代码~index.php代码:&lt;!DOCTYPE html&gt;&lt;html&gt;&lt;head&gt;&lt;meta charset="utf-8"&gt;&lt;meta name="viewport" content="width=
一、PHP开发 登录页面1.数据库搭建先在mysql数据库中创建一个test数据库login表:设置如下几个字段:id : 它是唯一的,类型为 int ,并选择主键。uesrname : 用户名,类型为 varchar, 长度为30。password : 密码,类型为 varchar, 长度为30。添加一个用于测试的用户名和密码插入了一个数据username为22222; password为222222.验证码发表一个产生png图片验证码的基本图像:1、产生一张png的图片..
文件上传漏洞一、1.什么是文件上传(1)定义(2)原理2.文件上传漏洞的危害(1) 危害(2)产生危害的原因二、文件上穿漏洞分类1.客户端校验2.黑名单绕过(1)扩展名绕过(2)后缀大小写绕过(3)双层后缀绕过(4)空格绕过(5)点绕过(6)上传.htaccess(7)::$DATA绕过3.白名单绕过(1)web解析绕过(2)00截断绕过(3)mime文件绕过三、条件竞争什么是条件竞争四、二次渲染1.什么是二次渲染2.二次渲染演示五、漏洞修复1.漏洞修复的方法六、小结一、1.什么是文件上传(1)定义文
微信公众号搜索 “ 程序精选 ” ,选择关注!
微信公众号搜 "程序精选"关注