diff($now)->y; } catch (Throwable $e) { return null; } } try { $pdo = getPdoConnection(true); ensureLab04StudentsTable($pdo, false); // Xử lý cập nhật nhanh ngày sinh cho 1 sinh viên hoặc nạp ngày sinh mẫu cho các sinh viên chưa có if ($_SERVER['REQUEST_METHOD'] === 'POST') { $action = (string)($_POST['action'] ?? ''); if ($action === 'update_birthday') { $id = (int)($_POST['id'] ?? 0); $birthday = trim((string)($_POST['birthday'] ?? '')); if ($id > 0) { $stmt = $pdo->prepare("UPDATE students SET birthday = :birthday WHERE id = :id"); $stmt->execute([ ':birthday' => $birthday !== '' ? $birthday : null, ':id' => $id, ]); $msg = "Đã cập nhật ngày sinh cho sinh viên #{$id} thành công!"; } } elseif ($action === 'fill_default_birthdays') { $pdo->exec("UPDATE students SET birthday = '2004-05-15' WHERE birthday IS NULL"); $msg = 'Đã tự động điền ngày sinh mẫu cho tất cả sinh viên chưa có ngày sinh!'; } } $students = $pdo->query("SELECT id, name, email, phone, birthday FROM students ORDER BY id ASC")->fetchAll(); } catch (Throwable $e) { $connectionError = $e; } ?>
birthday) & Tính tuổidd/mm/YYYY và cập nhật trực tiếp bằng PDO Prepared Statement
| ID | Họ và tên | Ngày sinh (dd/mm/YYYY) | Tuổi | Cập nhật ngày sinh |
|---|---|---|---|---|
| #= (int)$sv['id'] ?> |
= htmlspecialchars((string)$sv['name']) ?>
= htmlspecialchars((string)$sv['email']) ?>
|
🎂 = date('d/m/Y', strtotime((string)$sv['birthday'])) ?> Chưa cập nhật | = $age ?> tuổi — |
Bai08/alter_birthday.sql= htmlspecialchars($sqlContent) ?>