Từng bước học lập trình php căn bản qua dự án website giới thiệu sản phẩm – Trang danh sách thành viên

Nội dung kiến thức phần này gồm:

– Hàm.
– Tham số.

Trong thư mục admin/user, tạo mới file list.php để viết mã lệnh trang danh sách thành viên.

Nội dung file admin/user/list.php như sau:

<?php
//Khởi động session
session_start();

//Kiểm tra nếu chưa đăng nhập thì quay về trang đăng nhập
if(!isset($_SESSION[‘user’])){
header(‘location:login.php’);
}

//Require các file cần thiết
require ‘../../configs/config.php’;
require ‘../../libraries/connect.php’;
require ‘../../models/user.php’;

//Lấy danh sách thành viên
$user_list = get_user_list();

//Require file giao diện (View)
require ‘../../views/admin/user/list.tpl.php’;
?>

Mở file models/user.php và thêm vào khối lệnh mới dưới đây:

function get_user_list(){
//SQL
$sql = “SELECT * FROM tbl_user ORDER BY user_id DESC”;

//Query và return
return mysql_query($sql);
}

Trong thư mục views/admin/user, tạo mới file list.tpl.php để trình bày giao diện trang danh sách thành viên.

Nội dung file views/admin/user/list.tpl.php như sau:

<html>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ />
<title>Quản trị – Thành viên – Danh sách</title>
</head>
<body>

<table width=”100%” cellpadding=”10″>
<tr>
<th>ID</th>
<th>Tài khoản</th>
<th>Họ tên</th>
<th>Trạng thái</th>
<th>Ngày tạo</th>
<th>Ngày chỉnh sửa</th>
<th>Tác vụ</th>
</tr>
<?php while($user = mysql_fetch_assoc($user_list)): ?>
<tr>
<td><?php echo $user[‘user_id’]; ?></td>
<td><a href=”<?php echo SITE_URL . ‘admin/user/edit.php?user_id=’ . $user[‘user_id’]; ?>”><?php echo $user[‘username’]; ?></a></td>
<td><?php echo $user[‘fullname’]; ?></td>
<td><?php echo ($user[‘status’] == 1) ? ‘Kích hoạt’ : ‘Không kích hoạt’; ?></td>
<td><?php echo date(‘d-m-Y H:i:s’, $user[‘created’]); ?></td>
<td><?php echo date(‘d-m-Y H:i:s’, $user[‘modified’]); ?></td>
<td><a href=”<?php echo SITE_URL . ‘admin/user/delete.php?user_id=’ . $user[‘user_id’]; ?>”>Xóa</a></td>
</tr>
<?php endwhile; ?>
</table>

</body>
</html>

Các bạn truy cập trang danh sách thành viên theo địa chỉ http://localhost/admin/user/list.php để kiểm tra.

* Hàm:

Ở phần trước trong file models/user.php, tôi có khởi tạo một hàm tên là get_user_by_username và ở phần này tôi cũng tạo một hàm là get_user_list. Theo như những gì các bạn thấy thì hàm là một khối lệnh làm một nhiệm vụ gì đó theo ý đồ của người lập trình nhằm mục đích “đóng gói” và “tái sử dụng” ở nhiều nơi.

Để định nghĩa một hàm, các bạn thực hiện theo mẫu sau:

function Tên_hàm(){
//Khối lệnh thực hiện nhiệm vụ nào đó
}

Hoặc

function Tên_hàm(Tham_số_1, Tham_số_2, Tham_số_n){
//Khối lệnh thực hiện nhiệm vụ nào đó
}

Hoặc

function Tên_hàm(Tham_số_1 = ‘Giá_trị_mặc_định_1’, Tham_số_2 = ‘Giá_trị_mặc_định_2’, Tham_số_n = ‘Giá_trị_mặc_định_n’){
//Khối lệnh thực hiện nhiệm vụ nào đó
}

Trong đó:

– Tên hàm phải tuân theo quy tắc đặt tên mà PHP quy định là chỉ chấp nhận các số từ 0 đến 9, chữ cái từ a đến z, dấu gạch dưới “_”. Tên hàm không được bắt đầu bằng số và không được trùng lặp.
– Một hàm có thể có hoặc không có tham số truyền vào. Nếu có nhiều hơn một tham số thì các tham số phân cách nhau mởi dấu phẩy “,”. Các tham số có thể gán giá trị mặc định cho nó.

Ví dụ 1:

function get_user_list(){
//Những dòng lệnh các bạn đã biết ở trên
}

Tôi đã tạo ra một hàm tên là get_user_list và hàm này không có tham số truyền vào. Nhiệm vụ của hàm get_user_list là lấy danh sách thành viên từ DB và trả về lại kết quả.

Ví dụ 2:

function get_user_by_username($username){
//Những dòng lệnh các bạn đã biết ở phần trước
}

Hàm ở trên tên là get_user_by_username và hàm này có một tham số là $username. Nhiệm vụ của hàm get_user_by_username là lấy thông tin thành viên từ DB và trả về lại kết quả.

Ở hai ví dụ trên, tôi có nhắc đến “trả về lại kết quả” vậy đó là gì? Câu này được thể hiện bằng từ khóa “return” ở cuối mỗi hàm mà các bạn thấy.

Ví dụ:

return mysql_query($sql);

Dòng lệnh này ở hàm get_user_list mà tôi đã định nghĩa ở trên dùng để trả về lại kết quả mà người lập trình mong muốn (Ở ví dụ này đó là kết quả truy vấn từ DB).

Một hàm có thể có giá trị trả về hoặc cũng có thể không có giá trị trả về tùy vào mục đích của người lập trình.

Các bạn có thể tìm hiểu thêm về hàm ở liên kết http://php.net/manual/en/language.functions.php.

* Tham số:

Ở hàm get_user_by_username có khai báo một tham số là $username. Vậy tham số là những biến nhận giá trị truyền vào nhằm mục đích nào đó theo ý đồ của người lập trình.

Các tham số và biến được khởi tạo bên trong hàm thì chỉ tồn tại bên trong hàm đó.

Tham số bao gồm hai loại là:

– Tham trị.
– Tham biến.

Các bạn có thể tìm hiểu thêm về tham số ở liên kết http://php.net/manual/en/functions.arguments.php.

Tác giả: Lê Trung Hiếu

Viết một bình luận