小李: 嗨,小张,我们开始讨论研究生信息管理系统的开发吧!
小张: 好啊,首先我们需要考虑的是系统的架构设计。这个系统需要存储大量的学生信息,所以数据库设计非常重要。
小李: 对,我建议使用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>