Muốn trở thành dân chuyên trong lĩnh vực CNTT? Hãy đọc hết bài viết hướng dẫn về cách tạo nút kích hoạt/hủy kích hoạt sử dụng PHP và MySQL ngay nhé!
Bài viết này sẽ hướng dẫn các bạn tạo nút Kích hoạt/Hủy kích hoạt sử dụng PHP và MySQL một cách đơn giản. Khi một trạng thái được đặt, trạng thái cụ thể sẽ được cập nhật trong cơ sở dữ liệu khi người dùng click vào nút tương ứng.
Để minh họa cho hướng dẫn này, giả sử có một số tài khoản người dùng trong website có thể được đặt là đang kích hoạt hoặc đang không được kích hoạt. Và công việc của chúng ta là cần tạo ra một nút tương ứng để Kích hoạt/ Hủy kích hoạt tài khoản người dùng. Việc triển khai được thực hiện bằng HTML, Bootstrap, PHP và MySQL.
1. Tạo database với bảng users như sau:
CREATE TABLE `users` (
`id` int(11) NOT NULL,
`fullname` varchar(199) NOT NULL,
`username` varchar(199) NOT NULL,
`password` varchar(199) NOT NULL,
`email` varchar(199) NOT NULL,
`status` tinyint(1) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
2. Thêm dữ liệu vào bảng users
INSERT INTO `users` (`id`, `fullname`, `username`, `password`, `email`, `status`) VALUES
(1, ‘Nguyễn Thị Loan’, ‘loannt’, ‘[email protected]’, ‘111222’, 1),
(2, ‘Lê Đình Long’, ‘longld’, ‘[email protected]’, ‘111222’, 0),
(3, ‘Vũ Văn Huy’, ‘huyvv’, ‘[email protected]’, ‘111222’, 0),
(4, ‘Trần Huy Thọ’, ‘thoth’, ‘[email protected]’, ‘111222’, 1),
(5, ‘Đinh Thanh Thuy’, ‘thuydt’, ‘[email protected]’, ‘222333’, 0),
(6, ‘Nguyễn Văn Thắng’, ‘thangnv’, ‘[email protected]’, ‘333444’, 1);
Trong bản này chúng ta phải biết rằng trạng thái (status) là một số nguyên đại diện cho không kích hoạt là 0 và kích hoạt là 1.
3. Tạo file db.php dùng để kết nối đến cơ sở dữ liệu với đoạn mã sau:
<?php
try {
$conn = new PDO(“mysql:host=localhost; dbname=demo; charset=utf8”, “root”, “”);
} catch (PDOException $e) {
throw $e;
}
4. Tạo file index.php để hiển thị danh sách tài khoản với đoạn mã sau:
<?php
require_once ‘db.php’;
$query = “SELECT * FROM users”;
$stmt = $conn->prepare($query);
$stmt->execute();
$users = $stmt->fetchAll(PDO::FETCH_ASSOC);
?>
<!DOCTYPE html>
<html lang=”en”>
<head>
<meta charset=”UTF-8″>
<meta http-equiv=”X-UA-Compatible” content=”IE=edge”>
<meta name=”viewport” content=”width=device-width, initial-scale=1.0″>
<title>Kích hoạt / Hủy kích hoạt</title>
<link rel=”stylesheet” href=”https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css”>
</head>
<body>
<div class=”container”>
<h1>Danh sách tài khoản</h1>
<table class=”table table-border”>
<tr>
<th>#ID</th>
<th>Họ tên</th>
<th>Tài khoản</th>
<th>Email</th>
<th>Trạng thái</th>
</tr>
<?php foreach ($users as $user) : ?>
<tr>
<td><?php echo $user[‘id’] ?></td>
<td><?php echo $user[‘fullname’] ?></td>
<td><?php echo $user[‘username’] ?></td>
<td><?php echo $user[’email’] ?></td>
<td>
<?php if ($user[‘status’] == 1) : ?>
<a class=”btn btn-danger” href=”status.php?id=<?= $user[‘id’] ?>&status=0″>Hủy kích hoạt</a>
<?php else : ?>
<a class=”btn btn-success” href=”status.php?id=<?= $user[‘id’] ?>&status=1″>Kích hoạt</a>
<?php endif ?>
</td>
</tr>
<?php endforeach ?>
</table>
</div>
</body>
</html>
5. Tạo file status.php để thay đổi trang thái tài khoản với đoạn code sau:
<?php
require_once “db.php”;
$id = $_GET[‘id’];
$status = $_GET[‘status’];
$query = “UPDATE users SET status=$status WHERE id=$id”;
$stmt = $conn->prepare($query);
$stmt->execute();
header(“location: index.php”);
Khi chạy trang index.php chúng ta sẽ được giao diện như sau:

Hy vọng bài hướng dẫn trên đã góp phần giúp bạn dễ dàng hơn khi làm việc với các phần mềm, thuật toán. Hãy cùng đón chờ nhiều bài hướng dẫn khác nhé!

