سیستم مدیریت وظایف کارکنان با استفاده از PHP و PDO
مدیریت وظایف کارکنان یکی از ارکان اساسی در سازمانها است. سیستمهای مدیریت وظایف نهتنها به بهبود بهرهوری کمک میکنند، بلکه ارتباطات بین اعضای تیم را تسهیل مینمایند. در اینجا، به بررسی ساختار و پیادهسازی یک سیستم ساده مدیریت وظایف با استفاده از PHP و PDO میپردازیم.
ساختار پایگاه داده
برای شروع، باید یک پایگاه داده ایجاد کرد. این پایگاه داده میتواند شامل جدولهای زیر باشد:
- جدول کاربران (users): شامل اطلاعات کارکنان.
- name (varchar)
- email (varchar)
- role (varchar)
- جدول وظایف (tasks): شامل وظایف محول شده به کارکنان.
- user_id (int, foreign key)
- task_description (text)
- status (enum: 'pending', 'completed')
- created_at (timestamp)
اتصال به پایگاه داده با PDO
برای اتصال به پایگاه داده، از PDO استفاده میکنیم. این روش نهتنها امنیت بالایی دارد، بلکه کار با آن نیز ساده است.
```php
try {
$pdo = new PDO('mysql:host=localhost;dbname=task_management', 'username', 'password');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
}
```
ایجاد وظیفه جدید
برای ایجاد وظیفه جدید، میتوان از کد زیر استفاده کرد:
```php
function createTask($userId, $description) {
global $pdo;
$stmt = $pdo->prepare("INSERT INTO tasks (user_id, task_description, status, created_at) VALUES (:user_id, :description, 'pending', NOW())");
$stmt->execute(['user_id' => $userId, 'description' => $description]);
}
```
لیست وظایف
برای نمایش وظایف محول شده به یک کارمند، میتوان از کد زیر استفاده کرد:
```php
function getUserTasks($userId) {
global $pdo;
$stmt = $pdo->prepare("SELECT * FROM tasks WHERE user_id = :user_id");
$stmt->execute(['user_id' => $userId]);
return $stmt->fetchAll(PDO::FETCH_ASSOC);
}
```
نتیجهگیری
در نهایت، با توجه به امکانات و قابلیتهای PHP و PDO، میتوان یک سیستم مدیریت وظایف کارآمد ایجاد کرد. این سیستم میتواند به سادگی توسعه یابد و قابلیتهای بیشتری مانند اعلانها، نظارت بر پیشرفت و تحلیل دادهها را شامل شود.
با توجه به نیازهای خاص سازمان خود، میتوانید این سیستم را سفارشیسازی کنید و بهینهسازیهای لازم را انجام دهید.