حضور و غیاب با PHP
حضور و غیاب یکی از مهمترین جنبههای مدیریت منابع انسانی در هر سازمان است. با استفاده از PHP و پایگاههای داده، میتوان یک سیستم حضور و غیاب کارآمد و جامع ایجاد کرد.
طراحی دیتابیس
ابتدا، نیاز به طراحی یک پایگاه داده داریم. در این پایگاه داده، جداول زیر میتوانند وجود داشته باشند:
- جدول کاربران: شامل اطلاعات کارمندان مانند شناسه، نام، نام خانوادگی، و شماره شناسایی.
- جدول حضور و غیاب: شامل شناسه کارمند، تاریخ، وضعیت (حاضر، غایب، تأخیر) و زمان ورود و خروج.
ایجاد فرم ورود
پس از طراحی دیتابیس، باید یک فرم ورود برای ثبت حضور و غیاب ایجاد کنیم. این فرم میتواند شامل فیلدهایی برای وارد کردن تاریخ، ساعت ورود و خروج باشد.
```php
<form method="post" action="submit_attendance.php">
<input type="date" name="date" required>
<input type="time" name="check_in" required>
<input type="time" name="check_out">
<input type="submit" value="ثبت حضور و غیاب">
</form>
```
پردازش دادهها
در فایل `submit_attendance.php`، باید دادههای فرم را پردازش کنیم. میتوانیم از PDO برای اتصال به پایگاه داده استفاده کنیم.
```php
<?php
$dsn = 'mysql:host=localhost;dbname=attendance_db';
$username = 'root';
$password = 'password';
try {
$db = new PDO($dsn, $username, $password);
$date = $_POST['date'];
$check_in = $_POST['check_in'];
$check_out = isset($_POST['check_out']) ? $_POST['check_out'] : NULL;
$sql = "INSERT INTO attendance (employee_id, date, check_in, check_out) VALUES (:employee_id, :date, :check_in, :check_out)";
$stmt = $db->prepare($sql);
$stmt->execute([':employee_id' => 1, ':date' => $date, ':check_in' => $check_in, ':check_out' => $check_out]);
echo "حضور و غیاب ثبت شد.";
} catch (PDOException $e) {
echo "خطا: " . $e->getMessage();
}
?>
```
نمایش گزارشها
برای مشاهده گزارشهای حضور و غیاب، میتوانیم یک صفحه جداگانه ایجاد کنیم که دادههای پایگاه داده را نمایش دهد. این صفحه میتواند شامل فیلترهایی برای تاریخ و کارمند باشد.
```php
<?php
$sql = "SELECT * FROM attendance WHERE employee_id = :employee_id";
$stmt = $db->prepare($sql);
$stmt->execute([':employee_id' => 1]);
$results = $stmt->fetchAll();
foreach ($results as $row) {
echo "تاریخ: " . $row['date'] . " - ساعت ورود: " . $row['check_in'] . " - ساعت خروج: " . $row['check_out'] . "<br>";
}
?>
```
نتیجهگیری
ایجاد یک سیستم حضور و غیاب با PHP میتواند به مدیریت بهتر منابع انسانی کمک کند. با استفاده از فرمها، پردازش دادهها و نمایش گزارشها، میتوان نظارت دقیقی بر کارمندان داشت. این سیستم میتواند به سازمانها در بهبود بهرهوری و کارآیی کمک نماید.