Phương án đếm số lượt xem trang trong PHP

Thứ bảy - 14/11/2015 22:02
Số lượt xem trang được xem là một chức năng thống kê không thể thiếu khi xây dựng website, có các tính năng như tin tức, sản phẩm,.... Từ đó người quản trị mới có thể xem lượt truy cập vào trang một cách tương đối.
Bài viết này mình ví dụ với một trường hợp thực tế, xây dựng trang tin tức, có chức năng đếm số lượt xem bài viết.

Giải pháp: Sử dụng SESSION để lưu lịch sử truy cập của người dùng, trên một trình duyệt, với bài viết tương ứng. 

Yêu cầu:
  • CSDL có trường lưu số lượt xem bài viết (VD mình đặt tường này là viewcount)
  • Trang xem chi tiết bài viết, có giá trị mang tính duy nhất cho mỗi bài viết (VD: ID bài viết )
Thực hiện:
Tại trang xem chi tiết bài viết, bạn vận dụng đoạn code sau:
// ID bài viết
$id_news = 1;

// Tên chức năng
$module_name = 'tintuc';

// Khởi tạo tên session là chuỗi gồm tên chức năng và id bài viết, mục đích tránh trùng ID với những chức năng khác, bạn có thể thêm một giá trị nào đó, để chắc chắn chuỗi này không bao giờ trùng với mỗi chuỗi nào khác.
$session_name = $module_name . '_' . $id_news;

// Lấy giá trị session.
$check_view = $_SESSION[$session_name];
if( empty( $check_view ) )
{
	// Gán giá trị session
	$_SESSION[$session_name] = 1;
	// Thực hiện cập nhật lượt xem, cộng dồn thêm 1
	$sql = 'UPDATE table_tintuc SET viewcount=viewcount+1 WHERE id=' . $id_news;
}

Chú ý: Tùy vào nhu cầu, điều kiện đếm, không chỉ SESSION, bạn cũng có thể dùng COOKIE để lưu và kiểm giá trị trong trường hợp này. SESSION sẽ mất đi khi kết thúc ứng dụng, nên mỗi lần tắt trình duyệt, và truy cập lại, hệ thống xem như là một lượt truy cập mới. Ngược lại, COOKIE không mất đi khi tắt trình duyệt, nên việc tính lượt truy cập phụ thuộc vào thời gian sống của COOKIE.

Tổng số điểm của bài viết là: 70 trong 16 đánh giá

Xếp hạng: 4.4 - 16 phiếu bầu
Click để đánh giá bài viết

  Ý kiến bạn đọc

Trung tâm ứng dụng NukeViet
Ghi rõ nguồn khi sao chép thông tin từ website này.

Powered by NukeViet - a product of VINADES.,JSC