前言
在学完一系列的php基础后,如何快速巩固知识点呢?当然是通过大量的练习来更好地熟悉php语法。这里提供一个考勤系统来帮助大家更好地巩固php基础。
项目过程
1. 效果图
点击添加学生可以添加加入考勤的学生,状态state 0表示未到,1表示已到。此外,还有查询、删除等一系列操作。
1.1 信息展示页面
1.2 学生添加页面
2. 代码
由于本项目整体结构比较简单,就不详细讲解过程了,直接放出代码提供给大家参考即可。
2.1 首页
页面的搭建用到了Bootstrap框架,直接通过link标签引入cdn即可,在这里面需要注意的就是表格如何渲染数据呢?这里是通过php+H5
的方式来渲染的,php的特性很灵活,可以在html中嵌入。类似于JSP
。
<?php
# 连接数据库
require_once 'database.php';
?>
// 忽略其他代码... 只展示核心代码。
<table class="table table-hover">
<thead>
<tr>
<th>Id</th>
<th>Classess</th>
<th>StudentName</th>
<th>Tel</th>
<th>State</th>
<th>Signed</th>
<th>Operation</th>
</tr>
</thead>
<tbody>
// 循环遍历数据库数据
<?php
$query = isset($_GET['query']) ? $_GET['query'] : "";
if (!$query) {
# 查询结果
$sql = "SELECT * FROM students";
} else {
$sql = "SELECT * FROM students WHERE classess LIKE '%$query%'";
}
# 执行sql
$result = mysqli_query($conn, $sql);
?>
<?php
// if(!$result){
// printf("Error: %s\n",mysqli_error($conn));
// }
# 循环遍历表
while ($row = mysqli_fetch_assoc($result)) {
// var_dump($row);
?>
<tr>
<td><?php echo $row['id']; ?></td>
<td><?php echo $row['classess']; ?></td>
<td><?php echo $row['student_name']; ?></td>
<td><?php echo $row['tel']; ?></td>
<td><?php echo $row['signed']; ?></td>
<td>
<a type="submit" onclick="return confirm('是否已到场?')" href="update.php?id=<?php echo $row['id']; ?>"><button>Sign In</button></a>
</td>
<td>
<button>
<a onclick="return confirm('确定要删除吗?')" href="del.php?id=<?php echo $row['id']; ?>">delete</a>
</button>
</td>
</tr>
<?php
}
?>
</tbody>
2.2 添加学生
添加学生的页面分成两部分,一部分是基本的页面渲染即add.html
,还有一部分是添加的逻辑功能add.php
,这里需要注意,要反复检查自己sql语句是否正确,很多时候页面报数据库的错误都是由sql语句引起的。
// add.php
<?php
$classess = $_GET['classess'];
$student_name = $_GET['student_name'];
$tel = $_GET['tel'];
// 连接数据库
require_once 'database.php';
// 插入sql语句
$sql = "INSERT INTO students (classess, student_name, tel,signed)
VALUES ('$classess', '$student_name', '$tel',false);";
if (mysqli_query($conn, $sql)) {
echo "新记录插入成功";
header("location:index.php");
} else {
echo "Error: " . $sql . "<br>" . mysqli_error($conn);
echo "添加失败!";
}
header("loaction:add.html");
2.3 数据库连接
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "myDB";
// 创建连接
$conn = mysqli_connect($servername, $username, $password, $dbname);
// 检测连接
if (!$conn) {
die("连接失败: " . mysqli_connect_error());
}
2.4 删除学生
<?php
// 获取id
$id = $_GET["id"];
// 连接数据库
require_once "database.php";
// 执行要删除的sql语句
$sql = "DELETE FROM `students` WHERE `students`.`id` = $id";
if (mysqli_query($conn, $sql)) //执行sql语句
{
header("location:index.php");
// echo "删除成功";
//删完回去表页面
} else {
echo "删除失败";
}
// 回到首页
header("Location:index.php");
2.5 签到
<?php
$id = $_GET['id'];
// 连接数据库
require_once "database.php";
// 执行要删除的sql语句
$sql = "UPDATE `students` SET `signed`=true WHERE `students`.`id` = $id";
if (mysqli_query($conn, $sql)) //执行sql语句
{
header("location:index.php");
//删完回去表页面
} else {
echo "删除失败";
}
// 回到首页
header("Location:index.php");
写在最后
本文可以当作小练习,参考学习即可,大致功能就是这样,大家可以通过该模板自行添加功能。在体验完php之后,发现了许多的问题,php是一门简单、面向对象的,动态的、HTML 内嵌式的语言。在开发中小型项目的时候,还是比较快速的。不过现在随着vue、react前端框架的兴起,php的空间个人感觉会越来越小。当然语言没有好坏之分,我个人是学前端的,了解php是由于公司的需求,在之后的学习也会进一步接触php,respect~
附件
链接:https://pan.baidu.com/s/1kjLVBC9a9DzcJuK0Qc5XAw?pwd=u7un
提取码:u7un