小李: 嗨,小张,我们开始讨论研究生信息管理系统的开发吧!
小张: 好啊,首先我们需要考虑的是系统的架构设计。这个系统需要存储大量的学生信息,所以数据库设计非常重要。
小李: 对,我建议使用MySQL数据库,它稳定且开源。我们可以创建一个students表来存储基本信息。
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "grad_student_system";
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检测连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
echo "连接成功";
?>
小张: 这段代码是用来连接数据库的。接下来,我们需要在数据库中创建students表。

<?php
$sql = "CREATE TABLE students (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(30) NOT NULL,
age INT(3),
major VARCHAR(50)
)";
if ($conn->query($sql) === TRUE) {
echo "Table students created successfully";
} else {
echo "Error creating table: " . $conn->error;
}
$conn->close();
?>
小李: 我们还需要编写一些API接口来处理前端请求。比如,获取所有学生的列表。
<?php
header('Content-Type: application/json');
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "grad_student_system";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT id, name, age, major FROM students";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// 输出数据
while($row = $result->fetch_assoc()) {
$data[] = $row;
}
echo json_encode($data);
} else {
echo "0 results";
}
$conn->close();
?>
小张: 最后,我们需要一个前端界面来展示这些数据。可以使用React.js来构建。
<script src="https://unpkg.com/react@17/umd/react.development.js"></script>
<script src="https://unpkg.com/react-dom@17/umd/react-dom.development.js"></script>
<script src="https://unpkg.com/babel-standalone@6/babel.min.js"></script>
<div id="root"></div>
<script type="text/babel">
class StudentList extends React.Component {
constructor(props) {
super(props);
this.state = { students: [] };
}
componentDidMount() {
fetch('/api/students')
.then(response => response.json())
.then(data => this.setState({ students: data }));
}
render() {
return (
<ul>
{this.state.students.map(student => (
<li key={student.id}>
{student.name}, {student.age}, {student.major}
</li>
))}
</ul>
);
}
}
ReactDOM.render(<StudentList />, document.getElementById('root'));
</script>
