Ở bài trước hướng dẫn tạo trang quản lý thành viên phần 1, chúng ta đã thực hiện xong phần thiết kế giao diện cho trang quản lý thành viên. Bài viết hôm nay chúng sẽ tiếp tục truy vấn dữ liệu từ database và hiển thị động lên trang quản lý thành viên.
3. Tạo trang quản lý thành viên
b. Lấy dữ liệu động từ database
Xem lại 1 chút ở bài viết trước, cấu trúc bảng để hiện thị dữ liệu như sau :
<table class="table"> <caption>Danh sách thành viên đã đăng ký</caption> <thead> <tr> <th>STT</th> <th>Tên đăng nhập</th> <th>Họ tên</th> <th>Địa chỉ email</th> <th>Cấp độ</th> <th>Hành động</td> </tr> </thead> <tbody> <tr> <th scope="row">1</th> <td>teo123</td> <td>Huynh Van Teo</td> <td>huynhvanteo@gmail.com</td> <td>Thành viên</td> <td><a href="chinh-sua-thanh-vien.php?id=1">Sửa</a> <a href="xoa-thanh-vien.php?id=1">Xóa</a></td> </tr> <tr> <th scope="row">1</th> <td>tuan123</td> <td>Huynh Van Tuan</td> <td>huynhvantuan@gmail.com</td> <td>Quản trị viên</td> <td><a href="chinh-sua-thanh-vien.php?id=2">Sửa</a> <a href="xoa-thanh-vien.php?id=2">Xóa</a></td> </tr> <tr> <th scope="row">1</th> <td>ti123</td> <td>Huynh Van Ti</td> <td>huynhvanti@gmail.com</td> <td>Thành viên</td> <td><a href="chinh-sua-thanh-vien.php?id=3">Sửa</a> <a href="xoa-thanh-vien.php?id=3">Xóa</a></td> </tr> </tbody> </table>
Nhiệm vụ của chúng ta trong bài viết này chỉnh là thay thế các giá trị tĩnh là “1”, “ti123”, “Huynh Van Ti”, “huynhvanti@gmail.com”, “Thành viên”, “chinh-sua-thanh-vien.php?id=3″,… thành các giá trị động được lấy từ database.
<tr> <th scope="row">1</th> <td>ti123</td> <td>Huynh Van Ti</td> <td>huynhvanti@gmail.com</td> <td>Thành viên</td> <td><a href="chinh-sua-thanh-vien.php?id=3">Sửa</a> <a href="xoa-thanh-vien.php?id=3">Xóa</a></td></tr>
Để lấy được dữ liêu trong database, chúng ta tiếp tục gọi đến file connection.php đã tạo ở các bài trước
<?php require_once("../lib/connection.php"); ?>
tiếp theo truy vấn dữ liệu, hiển thị dữ liệu danh sách dữ liệu động. Các bạn để ý là cấu trúc bảng của chúng ta các thẻ <tr <td>dữ liệu 1<td/> <td>dữ liệu 2</td></tr> được lặp lại nhiều lần, tượng trưng cho 1 dòng dữ liệu, chính vì thế chúng ta sẽ dùng vòng lặp while để lặp lại các thẻ này.
<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"> <title>Quản lý thành viên</title> <!-- Bootstrap core CSS --> <link href="../bootstrap/css/bootstrap.min.css" rel="stylesheet"> </head> <body> <?php require_once("../lib/connection.php"); ?> <div class="container"> <div class="row"> <h3> Quản lý thành viên</h3> <table class="table"> <caption>Danh sách thành viên đã đăng ký</caption> <thead> <tr> <th>STT</th> <th>Tên đăng nhập</th> <th>Họ tên</th> <th>Địa chỉ email</th> <th>Cấp độ</th> <th>Hành động</td> </tr> </thead> <tbody> <?php $stt = 1 ; $sql = "SELECT * FROM users"; // thực thi câu $sql với biến conn lấy từ file connection.php $query = mysqli_query($conn,$sql); while ($data = mysqli_fetch_array($query)) { ?> <tr> <th scope="row"><?php echo $stt++ ?></th> <td><?php echo $data["username"]; ?></td> <td><?php echo $data["name"]; ?></td> <td><?php echo $data["email"]; ?></td> <td> <?php if ($data["level"] == 1) { echo "Administrator"; }else{ echo "Member"; } ?> </td> <td><a href="chinh-sua-thanh-vien.php?id=<?php echo $data["id"]; ?>">Sửa</a> <a href="xoa-thanh-vien.php?id=<?php echo $data["id"]; ?>">Xóa</a></td> </tr> <?php } ?> </tbody> </table> </div> </div><!-- /.container --> <!-- Bootstrap core JavaScript ================================================== --> <!-- Placed at the end of the document so the pages load faster --> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script> <script src="../bootstrap/js/bootstrap.min.js"></script> </body></html>
Vào trình duyệt gõ http://localhost/my_website/admin/quan-ly-thanh-vien.php và xem thành quả nhé
Bài viết tiếp theo mình sẽ hướng dẫn xóa, và cập nhật dữ liệu thành viên trong bảng users. Đến đây nếu bạn có thắc mắc gì thì để lại comment bên dưới nhé. Thân
while ($data = mysqli_fetch_array($query)) dòng này của e n cứ báo lỗi thôi ạ
Lỗi ntn, e gửi lên đây xem
<a href="chinh-sua-thanh-vien.php?id=”>Sửa <a href="xoa-th ………. thiếu ở đây
Cấp độ sao không có trường trong csdl thì lưu ở đâu ad?
trong database bạn có thể thêm trường level trong bảng users nhé. Ở đây là mình chưa lưu, bắt bằng code chay. Nếu muốn bạn có thể thêm vào nhé.
vậy làm sao không cho người có level là members vào trang quản trị
bạn sẽ chặn dùng điều kiện if nhé. Nếu mà level != 1 (tức là không phải admin) thì dùng hàm header() để chuyển hướng người dùng ra trang khác, không cho vào trang admin