.创建表t_student,其中包含学号stuno,姓名stuname,性别stusex三个字段,在表中插入一些测试数据。(5分) 2.实现下述功能: 编写显示所有学生资料信息页面,其中包含一个表单用来根据学生姓名模糊查询匹配的学生信息。(50分) 在学生信息后面增加一个“删除学生信息”链接,单击链接可以将学生信息从数据库中删除,然后跳转到显示所有学生资料信息页面。(25分)
时间: 2023-09-10 16:07:28 浏览: 276
1. 创建表t_student,插入测试数据:
```sql
CREATE TABLE t_student (
stuno INT PRIMARY KEY,
stuname VARCHAR(20),
stusex VARCHAR(10)
);
INSERT INTO t_student(stuno, stuname, stusex) VALUES (1, '张三', '男');
INSERT INTO t_student(stuno, stuname, stusex) VALUES (2, '李四', '男');
INSERT INTO t_student(stuno, stuname, stusex) VALUES (3, '王五', '女');
```
2. 实现功能:
- 显示所有学生资料信息页面:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>学生信息管理系统</title>
</head>
<body>
<h1>学生信息列表</h1>
<form action="" method="get">
<label for="stuname">学生姓名:</label>
<input type="text" id="stuname" name="stuname" value="">
<input type="submit" value="查询">
</form>
<table border="1">
<tr>
<th>学号</th>
<th>姓名</th>
<th>性别</th>
<th>操作</th>
</tr>
<?php
$db = new mysqli('localhost', 'root', '', 'test');
if ($db->connect_error) {
die('连接数据库失败:' . $db->connect_error);
}
$sql = "SELECT * FROM t_student";
if (!empty($_GET['stuname'])) {
$stuname = $_GET['stuname'];
$sql = "SELECT * FROM t_student WHERE stuname LIKE '%$stuname%'";
}
$result = $db->query($sql);
while ($row = $result->fetch_assoc()) {
echo '<tr>';
echo '<td>' . $row['stuno'] . '</td>';
echo '<td>' . $row['stuname'] . '</td>';
echo '<td>' . $row['stusex'] . '</td>';
echo '<td><a href="delete.php?stuno=' . $row['stuno'] . '">删除</a></td>';
echo '</tr>';
}
$result->free();
$db->close();
?>
</table>
</body>
</html>
```
- 删除学生信息页面:
```php
<?php
$db = new mysqli('localhost', 'root', '', 'test');
if ($db->connect_error) {
die('连接数据库失败:' . $db->connect_error);
}
$stuno = $_GET['stuno'];
$sql = "DELETE FROM t_student WHERE stuno=$stuno";
$db->query($sql);
$db->close();
header('Location: index.php');
?>
```
注意事项:
- 表单中的查询条件为学生姓名模糊查询,使用 `LIKE` 运算符
- 删除操作需要注意 SQL 注入问题,可以使用预处理语句来避免
- 删除操作需要先获取参数 `stuno`,然后拼接 SQL 语句进行删除操作
- 删除操作完成后需要跳转回学生信息列表页面,使用 `header` 函数来实现