حضور و غیاب دانشجویان در PHP و MySQL
در دنیای آموزش، نظارت بر حضور و غیاب دانشجویان یکی از ارکان مهم مدیریت آموزشی به شمار میرود. استفاده از تکنولوژیهای وب میتواند این فرآیند را تسهیل کند. در اینجا به بررسی یک سیستم ساده حضور و غیاب با استفاده از PHP و MySQL میپردازیم.
طراحی پایگاه داده
برای شروع، شما نیاز به یک پایگاه داده دارید. میتوانید از MySQL برای ایجاد جدولهای زیر استفاده کنید:
- جدول دانشجویان: شامل اطلاعات پایهای مانند شناسه، نام، نام خانوادگی و رشته تحصیلی.
- جدول حضور و غیاب: شامل شناسه، شناسه دانشجو، تاریخ و وضعیت (حاضر یا غایب).
```sql
CREATE TABLE students (
id INT AUTO_INCREMENT PRIMARY KEY,
first_name VARCHAR(50),
last_name VARCHAR(50),
major VARCHAR(50)
);
CREATE TABLE attendance (
id INT AUTO_INCREMENT PRIMARY KEY,
student_id INT,
date DATE,
status ENUM('present', 'absent'),
FOREIGN KEY (student_id) REFERENCES students(id)
);
```
پیادهسازی با PHP
پس از طراحی پایگاه داده، میتوانید به سراغ کد PHP بروید. ابتدا، یک اتصال به پایگاه داده برقرار کنید:
```php
$conn = new mysqli("localhost", "username", "password", "database_name");
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
```
ثبت حضور و غیاب
برای ثبت حضور و غیاب، فرم سادهای ایجاد کنید. مثلاً:
```html
<form method="POST" action="attendance.php">
<input type="text" name="student_id" placeholder="Student ID">
<input type="date" name="date" placeholder="Date">
<select name="status">
<option value="present">Present</option>
<option value="absent">Absent</option>
</select>
<input type="submit" value="Submit">
</form>
```
سپس در `attendance.php`، اطلاعات را به پایگاه داده اضافه کنید:
```php
$student_id = $_POST['student_id'];
$date = $_POST['date'];
$status = $_POST['status'];
$sql = "INSERT INTO attendance (student_id, date, status) VALUES ('$student_id', '$date', '$status')";
$conn->query($sql);
```
مشاهده گزارشها
شما همچنین میتوانید گزارشی از حضور و غیابها تهیه کنید. با یک کوئری ساده میتوانید اطلاعات را دریافت کنید:
```php
$sql = "SELECT students.first_name, students.last_name, attendance.date, attendance.status
FROM attendance
JOIN students ON attendance.student_id = students.id
ORDER BY attendance.date DESC";
$result = $conn->query($sql);
```
نتیجهگیری
این سیستم ساده، امکان نظارت بر حضور و غیاب دانشجویان را فراهم میکند. با گسترش این برنامه، میتوانید امکانات بیشتری مانند ارسال اعلانها، گزارشهای آماری و ... را نیز اضافه کنید. در نهایت، استفاده از PHP و MySQL به شما این امکان را میدهد که به سادگی و با کمترین هزینه، یک سیستم کارآمد داشته باشید.