اسکریپت حضور و غیاب دانشجویان در PHP MySQL
در دنیای امروز، مدیریت حضور و غیاب دانشجویان یکی از چالشهای مهم برای دانشگاهها و مؤسسات آموزشی به شمار میرود. استفاده از سیستمهای مبتنی بر وب میتواند به بهبود این فرآیند کمک کند. در اینجا به بررسی جزئیات یک اسکریپت PHP MySQL برای مدیریت حضور و غیاب دانشجویان میپردازیم.
ساختار پایگاه داده
ابتدا باید یک پایگاه داده در MySQL ایجاد کنیم. ساختار آن به شکل زیر است:
- جدول دانشجویان (students):
- id (int, primary key, auto_increment)
- name (varchar)
- student_id (varchar)
- جدول کلاسها (classes):
- id (int, primary key, auto_increment)
- class_name (varchar)
- جدول حضور و غیاب (attendance):
- id (int, primary key, auto_increment)
- student_id (int, foreign key)
- class_id (int, foreign key)
- date (date)
- status (enum: 'present', 'absent')
ایجاد فرم ورود
در مرحله بعد، یک فرم ساده برای ورود اطلاعات حضور و غیاب ایجاد میکنیم. این فرم شامل انتخاب نام دانشجو، کلاس و وضعیت حضور (حاضر یا غایب) خواهد بود.
```php
<form method="post" action="attendance.php">
<label for="student">انتخاب دانشجو:</label>
<select name="student_id">
<!-- گزینههای دانشجویان از پایگاه داده بارگذاری میشوند -->
</select>
<label for="class">انتخاب کلاس:</label>
<select name="class_id">
<!-- گزینههای کلاسها از پایگاه داده بارگذاری میشوند -->
</select>
<label for="status">وضعیت:</label>
<select name="status">
<option value="present">حاضر</option>
<option value="absent">غایب</option>
</select>
<input type="submit" value="ثبت حضور و غیاب">
</form>
```
پردازش دادهها
در فایل `attendance.php`، دادههای فرم را پردازش کرده و در جدول حضور و غیاب ذخیره میکنیم.
```php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$student_id = $_POST['student_id'];
$class_id = $_POST['class_id'];
$status = $_POST['status'];
$date = date('Y-m-d');
// اتصال به پایگاه داده
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "INSERT INTO attendance (student_id, class_id, date, status) VALUES ('$student_id', '$class_id', '$date', '$status')";
if ($conn->query($sql) === TRUE) {
echo "حضور و غیاب با موفقیت ثبت شد.";
} else {
echo "خطا در ثبت: " . $conn->error;
}
$conn->close();
}
```
نتیجهگیری
این اسکریپت ساده، به شما این امکان را میدهد که حضور و غیاب دانشجویان را به راحتی مدیریت کنید. با توسعه و بهبود این سیستم، میتوانید امکانات بیشتری نظیر گزارشگیری و آمار را اضافه کنید. با استفاده از تکنیکهای بهینهسازی، میتوانید عملکرد بهتری از سیستم خود بگیرید.