PHP+MYSQL实验室增删除改查PHP期末大作业动态网页设计源码+数据
前言
提示:本文采用PHP对数据库进行操作:
本文就介绍了PHP实现对MySQL数据库的增删改查操作基础内容。
设计规划
本系统使有PHP用于后端处理及数据库操作,先用mysql数据库,并采用html进行网页界面的设计,使用b/s架构的设计模式,它采用了当今软件设计的最新技术,具有开发效率高、设计灵活、生成的软件界面友好美观等特点。本系统中通过apache驱动和数据库进行无缝连接,后端的数据库是mysql,也是一个开源的数据库系统,该数据库具有较高的完整性,一致性和安全性。
设计目的
实现学校在互联网上进行实验室信息的展示,以及查询,实现网上浏览实验室。实现普通用户只能浏览,管理员可能发布管理实验室信息。
为用户方与开发方建立共同协议奠定基础。
提高开发效率、强化进度控制。
为项目的的评测与验收提供依据。
方便管理实验室信息,
作为系统不断提高的基础。
演示视频
PHP+MYSQL实验室增删除改查PHP期末大作业动态网页设计源码+数据
主要源码及效果
<table width="800" border="0">
<tr>
<td height="30" align="center" valign="top">
<form name="search" class="search" method="get" action="">
请输入关键词:
<input type="text" name="search" />
<input type="submit" value="提交" />
</form>
</td>
</tr>
<table width="100%" border="1">
<tr>
<td width="6%" bgcolor=""><strong>编号</strong></td>
<td width="20%" bgcolor=""><strong>实验室名</strong></td>
<td width="20%" bgcolor=""><strong>功能</strong></td>
<td width="20%" bgcolor=""><strong>状态</strong></td>
<td width="14%" bgcolor=""><strong>查看</strong></td>
</tr>
<?php
$num_rec_per_page = 4;
if (isset($_GET["page"])) { $page = $_GET["page"]; } else { $page=1; };
$start_from = ($page-1) * $num_rec_per_page;
if (empty($_GET['search'])){
$_query=mysqli_query($conn,"select * from room order by id desc LIMIT $start_from, $num_rec_per_page ");
}else{
$_query=mysqli_query($conn,"select * from room where title like '%{$_GET['search']}%' or content like '%{$_GET['search']}%' order by id desc LIMIT $start_from, $num_rec_per_page");
}
while (!!$_rows=mysqli_fetch_array($_query,MYSQLI_ASSOC)){
?>
<tr>
<td><?php echo $_rows['id']; ?></td>
<td><?php echo $_rows['title']; ?></td>
<td><?php echo $_rows['gongeng']; ?></td>
<td><?php echo $_rows['status']?'未使用':'使用中'; ?></td>
<td><a href="detail.php?id=<?php echo $_rows['id'] ?>">查看 </a> </td>
</tr>
<?php
};
?>
</table>
<p align="center">
<?php
$total_records = mysqli_num_rows($_query); // 统计总共的记录条数
$total_pages = ceil($total_records / $num_rec_per_page); // 计算总页数
echo "<a href='?page=1'>".'|<'."</a> "; // 第一页
for ($i=1; $i<=$total_pages; $i++) {
echo "<a href='?page=".$i."'>".$i."</a> ";
};
echo "<a href='?page=$total_pages'>".'>|'."</a> "; // 最后一页
?>
</p>
</td>
</tr>
<tr>
<td height="58" align="center">实验室管理系统 <a href="login.php">管理员登录</a></td>
</tr>
</table>
查看实验室详情:detail.php
<table width="100%">
<tr>
<td width="23%" align="right" >实验室名:</td>
<td width="40%"><?php echo $_rows['title']?></td>
<td rowspan="6"><img src="uploads/<?php echo $_rows['img']?>" /></td>
</tr>
<tr>
<td align="right">地址:</td>
<td><?php echo $_rows['address']?></td>
</tr>
<tr>
<td align="right">介绍:</td>
<td><?php echo $_rows['content']?></td>
</tr>
<tr>
<td align="right">功能:</td>
<td>
<?php echo $_rows['gongeng']?>
</td>
</tr>
<tr>
<td align="right">面积:</td>
<td>
<?php echo $_rows['area']?>平方
</td>
</tr>
<tr>
<td align="right">状态:</td>
<td>
<?php echo $_rows['status']?'未使用':'使用中'; ?>
</td>
</tr>
<tr>
<td align="right"> </td>
<td> </td>
</tr>
</table>
图片上传
<?php
if (empty($_COOKIE['username'])){
echo "<script type='text/javascript'>alert('请先登陆!');history.back();</script>";
}
include 'conn.php';
if ($_POST){
$file = $_FILES["img"];
if($file['error']<=0)
{
//获取文件名
$filename = $_FILES["img"]["name"];
//获取文件扩展名
$ext = pathinfo($filename,PATHINFO_EXTENSION);
//随机生成新的文件名
$filepath = md5(uniqid(mt_rand())).".".$ext;
//上传
move_uploaded_file($_FILES["img"]["tmp_name"], "uploads/".$filepath);
}
$query = mysqli_query($conn,"insert into room (title,content,img,address,gongeng,area,status,date) values ('{$_POST['title']}','{$_POST['content']}','{$filepath}','{$_POST['address']}','{$_POST['gongeng']}','{$_POST['area']}','{$_POST['status']}',now())");
echo "<script type='text/javascript'>alert('实验室添加成功');window.location.href='rooms.php';</script>";
}
?>
数据库连接conn.php
<?php
session_start();
define('DB_HOST','127.0.0.1');
define('DB_USER','root');
define('DB_PWD','root');
define('DB_NAME','work_school_shiyan1');
$conn = @mysqli_connect(DB_HOST,DB_USER,DB_PWD,DB_NAME) or die('数据连接失败');
mysqli_query($conn,'SET NAMES UTF8');
error_reporting(0);
?>
登录
if($_POST){
include 'conn.php';
if($_SESSION['yzm'] != $_POST['yzm']){
echo "<script type='text/javascript'>alert('验证码输入有误');history.back();</script>";
die;
}
$query = mysqli_query($conn,"select * from guest where username='{$_POST['username']}' && password='{$_POST['password']}'");
$rows = mysqli_fetch_array($query,MYSQLI_ASSOC);
if (!$rows){
echo "<script type='text/javascript'>alert('非法操作!');history.back();</script>";
}else{
$_SESSION['user'] = $rows;
echo "<script type='text/javascript'>alert('恭喜你,登陆成功!');window.location.href='index.php';</script>";
}
}
数据库
-- phpMyAdmin SQL Dump
-- version 4.8.5
-- https://www.phpmyadmin.net/
--
-- 主机: 127.0.0.1
-- 生成日期: 2021-06-26 21:54:31
-- 服务器版本: 5.5.29
-- PHP 版本: 7.3.4
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET AUTOCOMMIT = 0;
START TRANSACTION;
SET time_zone = "+00:00";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;
--
--
-- --------------------------------------------------------
--
-- 表的结构 `admin`
--
CREATE TABLE `admin` (
`id` mediumint(3) NOT NULL,
`username` varchar(40) NOT NULL,
`password` varchar(40) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;
--
-- 转存表中的数据 `admin`
--
INSERT INTO `admin` (`id`, `username`, `password`) VALUES
(1, 'admin', 'admin');
-- --------------------------------------------------------
--
-- 表的结构 `guest`
--
CREATE TABLE `guest` (
`id` mediumint(6) NOT NULL,
`username` varchar(20) NOT NULL,
`password` varchar(40) NOT NULL,
`email` varchar(40) DEFAULT NULL,
`qq` varchar(20) DEFAULT NULL,
`sex` char(4) DEFAULT NULL,
`phone` varchar(20) DEFAULT NULL,
`date` datetime NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--
-- 转存表中的数据 `guest`
--
INSERT INTO `guest` (`id`, `username`, `password`, `email`, `qq`, `sex`, `phone`, `date`) VALUES
(1, '研究学者', '123456', 'ccccd@qq.com', '123456', '男', '15296845303', '2021-06-26 21:44:09');
-- --------------------------------------------------------
--
-- 表的结构 `room`
--
CREATE TABLE `room` (
`id` mediumint(6) NOT NULL,
`title` varchar(40) NOT NULL,
`img` varchar(80) DEFAULT NULL,
`address` varchar(60) DEFAULT NULL,
`content` text NOT NULL,
`gongeng` varchar(40) NOT NULL,
`area` varchar(50) DEFAULT NULL,
`status` int(1) DEFAULT '1',
`date` date NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;
--
-- 转存表中的数据 `room`
--
INSERT INTO `room` (`id`, `title`, `img`, `address`, `content`, `gongeng`, `area`, `status`, `date`) VALUES
(11, '化学研究室', '4dd2c8c9c0e4aa7aed41944844c81c77.jpg', '106', '东实验室', '化学研究', '35', 1, '2021-06-23'),
(12, '物理实验室', '78dec29605cadf9307811e81382185e9.jpg', '604', '物理实验室', '物理研究', '50', 1, '2021-06-23'),
(13, '生物实验室', 'ac466d632ac5a401cbfedfb8322b8b58.png', '西教学楼 106', '生物实验室,西教学楼', '生物研究', '65', 1, '2021-06-23'),
(14, '杂交水稻实验室', 'f2b4bc73226d42dbcdf728e7a7367b8f.png', '东教学楼', '东教学楼,杂交水稻实验室\r\n', '杂交水稻实验室', '88', 0, '2021-06-23'),
(15, '计算机实验室', 'ad304298cac21dad63f7c0f8b6e082db.png', '东教学楼106室 ', '东教学楼106室 !', '计算机测验', '65', 0, '2021-06-23');
--
-- 转储表的索引
--
--
-- 表的索引 `admin`
--
ALTER TABLE `admin`
ADD PRIMARY KEY (`id`) USING BTREE;
--
-- 表的索引 `guest`
--
ALTER TABLE `guest`
ADD PRIMARY KEY (`id`);
--
-- 表的索引 `room`
--
ALTER TABLE `room`
ADD PRIMARY KEY (`id`) USING BTREE;
--
-- 在导出的表使用AUTO_INCREMENT
--
--
-- 使用表AUTO_INCREMENT `admin`
--
ALTER TABLE `admin`
MODIFY `id` mediumint(3) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;
--
-- 使用表AUTO_INCREMENT `guest`
--
ALTER TABLE `guest`
MODIFY `id` mediumint(6) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;
--
-- 使用表AUTO_INCREMENT `room`
--
ALTER TABLE `room`
MODIFY `id` mediumint(6) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=16;
COMMIT;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;