本人是一位学生,正在学习当中,可能BUG众多,请见谅并指正,谢谢!!!

学生列表实现

HTML:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>学生信息</title>
<link rel="stylesheet" type="text/css" href="css/Bootstrap.css">
</head>
<body>
<div class="container mt-5">
<h1 class="display-4 text-center">学生信息管理中心</h1>
<div class="row mt-3">
<a class="btn btn-info col-sm-2" style="margin-right: 88px; margin-left: 15px;" href="add_student.php">添加学生</a>
<input type="text" class="form-control col-sm-6 ml-5" placeholder="请输入关键词">
<button type="submit" class="btn btn-info col-sm-2 ml-4">点击搜索</button>
</div>
<table class="table table-hover table-bordered mt-3">
<thead class="thead-inverse">
<tr>
<th class="text-center align-middle">学号</th>
<th class="text-center align-middle">学院/系</th>
<th class="text-center align-middle">班级</th>
<th class="text-center align-middle">姓名</th>
<th class="text-center align-middle">性别</th>
<th class="text-center align-middle">年龄</th>
<th class="text-center align-middle">照片</th>
<th class="text-center align-middle">操作</th>
</tr>
</thead>
<tbody class="text-center">
<?php while ($student = mysqli_fetch_assoc($query)): ?>
<tr>
<td class="align-middle"><?php echo $student['num']; ?></td>
<td class="align-middle"><?php echo $student['system']; ?></td>
<td class="align-middle"><?php echo $student['class']; ?></td>
<td class="align-middle"><?php echo $student['name']; ?></td>
<td class="align-middle"><?php echo $student['gender'] === 1 ? '♂' : '♀'; ?></td>
<td class="align-middle"><?php echo date('Y') - substr($student['birthday'], 0, 4); ?></td>
<td class="align-middle"><img src="<?php echo $student['photo']; ?>" width="100" height="70"></td>
<td class="align-middle"><a class="btn btn-info mr-2" href="edit.php?num=<?php echo $student['num']; ?>">编辑</a><a class="btn btn-danger ml-2" href="delete.php?num=<?php echo $student['num']; ?>">删除</a></td>
</tr>
<?php endwhile ?>
</tbody>
</table>
</div>
</body>
</html>

PHP:

// 这里:
// 第一个参数:本地网络地址
// 第二个参数:数据库账号
// 第三个参数:数据库密码
// 第四个参数:数据库名称
$connection = mysqli_connect('localhost', 'root', '密码', 'students_info_system'); if (!$connection) {
exit('<h1>连接数据库失败</h1>');
} $query = mysqli_query($connection, 'select * from students'); if (!$query) {
exit('<h1>学生数据查询失败</h1>');
} $administrator_query = mysqli_query($connection, 'select * from students');

添加学生实现

HTML:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>添加学生</title>
<link rel="stylesheet" type="text/css" href="css/Bootstrap.css">
</head>
<body>
<div class="container mt-3">
<h1 class="display-4 text-center">添加学生</h1>
<?php if (isset($error_msg)): ?>
<div class="alert alert-danger"><?php echo $error_msg; ?></div>
<?php endif ?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data" autocomplete="off">
<div class="form-group">
<input type="number" name="num" class="form-control" placeholder="学号" value="<?php echo isset($_POST['num']) ? $_POST['num']: ''; ?>">
</div>
<div class="form-group">
<select class="form-control" name="system">
<option>请选择学院/系</option>
<option>电气工程学院</option>
<option>信息工程与艺术学院</option>
<option>国际教育学院</option>
<option>水利水电工程学院</option>
<option>测绘与市政工程学院</option>
<option>马克思主义学院</option>
<option>建筑工程学院</option>
<option>经济与管理学院</option>
</select>
</div>
<div class="form-group">
<input type="text" name="class" class="form-control" placeholder="班级" value="<?php echo isset($_POST['class']) ? $_POST['class'] : ''; ?>">
</div>
<div class="form-group">
<input type="text" name="name" class="form-control" placeholder="姓名" value="<?php echo isset($_POST['name']) ? $_POST['name'] : ''; ?>">
</div>
<div class="form-group">
<select class="form-control" name="gender">
<option value="-1">请选择性别</option>
<option <?php echo isset($_POST['gender']) && $_POST['gender'] === '1' ? 'selected' : ''; ?> value="1">男</option>
<option <?php echo isset($_POST['gender']) && $_POST['gender'] === '0' ? 'selected' : ''; ?> value="0">女</option>
</select>
</div>
<div class="form-group">
<label for="birthday">出生日期</label>
<input type="date" name="birthday" class="form-control" id="birthday" value="<?php echo isset($_POST['birthday']) ? $_POST['birthday'] : ''; ?>">
</div>
<div class="form-group">
<label for="photo">照片</label>
<input type="file" name="photo" class="form-control">
</div>
<button class="btn btn-info btn-block">确认添加</button>
</form>
</div>
</body>
</html>

PHP:

function add_student () {

  
$connection = mysqli_connect('localhost', 'root', '密码', 'students_info_system'); if (!$connection) {
$GLOBALS['error_msg'] = '连接数据库失败';
return;
} $query = mysqli_query($connection, 'select * from students'); if (!$query) {
$GLOBALS['error_msg'] = '数据查询失败';
return;
} // 查询已有学生
while ($student = mysqli_fetch_assoc($query)) {
// var_dump($student);
$students_num[] = $student['num'];
} // var_dump($_FILES['photo']);
// var_dump($_POST['gender']);
if (empty($_POST['num'])) {
$GLOBALS['error_msg'] = '请输入学号';
return;
} // 判断该学号是否已经被添加(即列表中已存在该学生)=========
if (in_array($_POST['num'], $students_num)) {
$GLOBALS['error_msg'] = '该学生已存在';
return;
} if (empty($_POST['system']) || $_POST['system'] === '请选择学院/系') {
$GLOBALS['error_msg'] = '请选择学院/系';
return;
}
if (empty($_POST['class'])) {
$GLOBALS['error_msg'] = '请输入班级';
return;
}
if (empty($_POST['name'])) {
$GLOBALS['error_msg'] = '请输入姓名';
return;
}
if (!(isset($_POST['gender']) && $_POST['gender'] !== '-1')) {
$GLOBALS['error_msg'] = '请选择性别';
return;
}
if (empty($_POST['birthday'])) {
$GLOBALS['error_msg'] = '请输入出生日期';
return;
} // 以下处理文件域=======================================================
if (empty($_FILES['photo'])) {
$GLOBALS['error_msg'] = '请上传照片';
return;
}
if ($_FILES['photo']['error'] !== UPLOAD_ERR_OK) {
$GLOBALS['error_msg'] = '上传照片失败';
return;
}
// 验证上传文件的类型(只允许图片)
if (strpos($_FILES['photo']['type'], 'image/') !== 0) {
$GLOBALS['error_msg'] = '这不是支持的文件格式类型,请重新上传';
return;
} // 文件上传到了服务端开辟的一个临时地址,需要转移到本地
$image_target = 'images/' . $_FILES['photo']['name'];
if (!move_uploaded_file($_FILES['photo']['tmp_name'], $image_target)) {
$GLOBALS['error_msg'] = '图片上传失败';
return;
} // 接收学生信息
$num = (string)$_POST['num'];
$system = (string)$_POST['system'];
$class = (string)$_POST['class'];
$name = (string)$_POST['name'];
$gender = (int)$_POST['gender'];
$birthday = (string)$_POST['birthday'];
$photo = (string)$image_target; // 将数据存放到数据库
$insert_query = mysqli_query($connection, "insert into students values ('{$num}', '{$system}', '{$class}', '{$name}', {$gender}, '{$birthday}', '{$photo}')"); if (!$insert_query) {
$GLOBALS['error_msg'] = '数据查询失败';
return;
} $affected_rows = mysqli_affected_rows($connection); if ($affected_rows !== 1) {
$GLOBALS['error_msg'] = '添加失败';
return;
} // 延迟2秒
time_sleep_until(time() + 2);

  // 跳回到学生信息页面
header("Location: student_info.php"); } if ($_SERVER['REQUEST_METHOD'] === 'POST') {
add_student();
}

最新文章

  1. c语言学习笔记三
  2. Android编码规范03
  3. C#将字节流加密解密
  4. python笔记-python编程优化:常用原则和技术介绍
  5. 使用Maven构建Android项目
  6. ViewPager 仿 Gallery效果
  7. MVC1-5直接访问静态页面
  8. Java中Volatile关键字详解
  9. windows 下FFMPEG的编译方法 附2012-9-19发布的FFMPEG编译好的SDK下载
  10. jeewx的使用_02 解析微信服务器post过来的数据
  11. c++多线程同步使用的对象
  12. Windows Phone 8初学者开发—第15部分:在选中ListItem时播放声音
  13. javascript实现的可改变滚动方向的无缝滚动
  14. Xcode5和ObjC新特性
  15. 从头开始搭建一个VSCode+NetCore的项目
  16. BP神经网络综合评价法
  17. [数据结构] P2.3 Trie树
  18. vue项目中全局配置变量
  19. Wampserver或者帝国CMS安装后, 打开localhost显示IIS欢迎界面图片
  20. Ubuntu16.04常用软件源

热门文章

  1. Java-JUC(十三):现在有两个线程同时操作一个整数I,做自增操作,如何实现I的线程安全性?
  2. 针对nginx,来具体聊聊正向代理与反向代理 (转载)
  3. 十三、postman导出java代码
  4. docker卷挂载与容器内外互相拷贝数据
  5. 【环境搭建与软件安装】windows系统基于Anaconda安装tensorflow-gpu
  6. [LeetCode] 676. Implement Magic Dictionary 实现神奇字典
  7. svn密码找回
  8. java jdk 8u191 官网下载地址
  9. TCP/IP学习笔记16--TCP--特点,数据重发,连接管理,段
  10. python3 turtle