小明:最近我在研究智慧校园系统,听说PHP是开发这类系统的常用语言,你觉得怎么样?
小李:确实,PHP在Web开发中非常流行,特别是在构建校园管理系统、在线课程平台等场景中。它简单易学,而且有丰富的框架和库支持。
小明:那你能给我举个例子吗?比如怎么用PHP做一个简单的学生信息管理系统?
小李:当然可以!我们可以从一个基本的学生信息展示页面开始。首先,我们需要一个数据库来存储学生信息。
小明:好的,那数据库该怎么设计呢?
小李:我们可以创建一个名为students的表,包含id、name、age、gender、class这几个字段。以下是创建表的SQL语句:
CREATE TABLE students (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
age INT,
gender VARCHAR(10),
class VARCHAR(50)
);
小明:明白了,那接下来怎么用PHP连接数据库并显示数据呢?

小李:我们先写一个连接数据库的PHP文件,然后查询数据并展示出来。下面是一个简单的例子:
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "school_db";
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检查连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
// 查询数据
$sql = "SELECT id, name, age, gender, class FROM students";
$result = $conn->query($sql);
?>
<table border="1">
<tr>
<th>ID</th>
<th>Name</th>
<th>Age</th>
<th>Gender</th>
<th>Class</th>
</tr>
<?php
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "<tr><td>" . $row["id"] . "</td><td>" . $row["name"] . "</td><td>" . $row["age"] . "</td><td>" . $row["gender"] . "</td><td>" . $row["class"] . "</td></tr>";
}
} else {
echo "<tr><td colspan='5'>没有找到记录</td></tr>";
}
?>
</table>
小明:看起来不错,那如果我要添加一个学生信息呢?
小李:我们可以创建一个HTML表单,然后通过POST方法提交到PHP处理脚本。以下是一个简单的表单示例:
<form action="add_student.php" method="post">
Name: <input type="text" name="name"><br>
Age: <input type="number" name="age"><br>
Gender: <input type="text" name="gender"><br>
Class: <input type="text" name="class"><br>
<input type="submit" value="添加学生">
</form>
小明:那处理表单的PHP文件应该怎么做?
小李:我们可以在add_student.php中接收POST数据,并插入到数据库中。下面是代码示例:
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "school_db";
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检查连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
// 获取表单数据
$name = $_POST['name'];
$age = $_POST['age'];
$gender = $_POST['gender'];
$class = $_POST['class'];
// 插入数据
$sql = "INSERT INTO students (name, age, gender, class) VALUES ('$name', '$age', '$gender', '$class')";
if ($conn->query($sql) === TRUE) {
echo "学生信息添加成功";
} else {
echo "错误: " . $sql . "<br>" . $conn->error;
}
$conn->close();
?>
小明:这样就完成了添加功能,那删除和修改功能呢?
小李:删除和修改功能可以通过在表格中添加操作按钮实现,例如“删除”和“编辑”。当用户点击这些按钮时,会跳转到对应的处理页面。
小明:那编辑功能是怎么做的?
小李:编辑功能通常需要先获取当前学生的数据,然后在表单中预填充,再更新数据库。以下是一个简单的编辑页面示例:
<?php
$id = $_GET['id'];
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "school_db";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
$sql = "SELECT * FROM students WHERE id = $id";
$result = $conn->query($sql);
$row = $result->fetch_assoc();
?>
<form action="update_student.php" method="post">
<input type="hidden" name="id" value="">
Name: <input type="text" name="name" value=""><br>
Age: <input type="number" name="age" value=""><br>
Gender: <input type="text" name="gender" value=""><br>
Class: <input type="text" name="class" value=""><br>
<input type="submit" value="更新学生">
</form>
小明:那更新功能的PHP代码又是什么样的?
小李:更新功能的代码如下:
<?php
$id = $_POST['id'];
$name = $_POST['name'];
$age = $_POST['age'];
$gender = $_POST['gender'];
$class = $_POST['class'];
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "school_db";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
$sql = "UPDATE students SET name='$name', age='$age', gender='$gender', class='$class' WHERE id=$id";
if ($conn->query($sql) === TRUE) {
echo "学生信息更新成功";
} else {
echo "错误: " . $sql . "<br>" . $conn->error;
}
$conn->close();
?>
小明:看来PHP真的很适合做这种基础的校园管理系统。那有没有更高级的功能可以实现呢?
小李:当然可以!比如我们可以加入用户登录系统,使用Session来管理用户状态,或者结合前端技术如Bootstrap美化界面,甚至使用框架如Laravel来提高开发效率。
小明:听起来很有前景,那我可以尝试做一个完整的智慧校园系统了。
小李:没错!PHP作为一门强大的后端语言,非常适合构建各种校园应用。你可以从一个小项目开始,逐步扩展功能,最终实现一个完整的智慧校园系统。
小明:谢谢你的讲解,我感觉对PHP开发智慧校园有了更深的理解。
小李:不客气!希望你能在实践中不断学习和成长,加油!
