10/10/2018, 00:21

Hỏi về vấn đề đếm số lần truy cập trang PHP

Mình tạo csdl ở mysql thế này:
<img src="http://img.photo.zing.vn/file_uploads/gallery/w642h/q32008/2008/09/24/01/98521222193844.JPG">

Mình tạo 2 trang PHP gồm:
Trang config :
Code:
 <?php
 $db_host = "localhost";
 $db_user = "php";
 $db_password = "f00t";
 $db_name = "buzzDB";
 ?>
Trang Counter :
Code:
<?php
require($_SERVER["DOCUMENT_ROOT"]."/config/db_config.php");
$connection = mysql_connect($db_host, $db_user, $db_password) or die ("Error connecting");
mysql_select_db($db_name, $connection);

$query = "SELECT * FROM counter";
$result = mysql_query($query, $connection) or die (mysql_error());

$views++;

$query = "UPDATE counter SET num_views = $views";
mysql_query($query, $connection) or die (mysql_error());
echo "This page has been viewed ".$views." times";
?>
Mục đích của mình là đếm số lần truy cập trang web, vậy thì cứ mỗi lần refresh thì dòng thông báo sẽ tự động tăng 1 đơn vị. (giá trị ban đầu là 0).
Nhưng khi mình chạy Localhost nó chỉ lên tới 1 và không chịu tăng!
<img src="http://img.photo.zing.vn/file_uploads/gallery/w642h/q32008/2008/09/24/01/57491222194286.JPG">
Các bạn giúp mình nhé! Cám ơn!
pixelart viết 02:32 ngày 10/10/2018
cái num_views bạn cho thành kiểu INT nhé.

$query = "UPDATE counter SET num_views = num_views + 1 where id='idcuaban'";
ufovn viết 02:25 ngày 10/10/2018
$views = $result["num_views"]; //Thiếu đoạn này
$views++;

Ngoài ra cần kiểm tra bảng có bản ghi nào không
bka viết 02:34 ngày 10/10/2018
Được gửi bởi thanhtungphp
Mình tạo csdl ở mysql thế này:
<img src="http://img.photo.zing.vn/file_uploads/gallery/w642h/q32008/2008/09/24/01/98521222193844.JPG">

Mình tạo 2 trang PHP gồm:
Trang config :
Code:
 <?php
 $db_host = "localhost";
 $db_user = "php";
 $db_password = "f00t";
 $db_name = "buzzDB";
 ?>
Trang Counter :
Code:
<?php
require($_SERVER["DOCUMENT_ROOT"]."/config/db_config.php");
$connection = mysql_connect($db_host, $db_user, $db_password) or die ("Error connecting");
mysql_select_db($db_name, $connection);

$query = "SELECT * FROM counter";
$result = mysql_query($query, $connection) or die (mysql_error());

$views++;

$query = "UPDATE counter SET num_views = $views";
mysql_query($query, $connection) or die (mysql_error());
echo "This page has been viewed ".$views." times";
?>
Mục đích của mình là đếm số lần truy cập trang web, vậy thì cứ mỗi lần refresh thì dòng thông báo sẽ tự động tăng 1 đơn vị. (giá trị ban đầu là 0).
Nhưng khi mình chạy Localhost nó chỉ lên tới 1 và không chịu tăng!
<img src="http://img.photo.zing.vn/file_uploads/gallery/w642h/q32008/2008/09/24/01/57491222194286.JPG">
Các bạn giúp mình nhé! Cám ơn!

Cái này mà tăng được tớ đập đầu vô bàn phím chết ngay..

giá trị $views này phải lấy từ database ra chứ . cậu làm thế thì mặc định ban đầu luôn là 0.. và dù thế nào thì kết quả insert vào database luôn là 1.. không thay đổi
thanhtungphp viết 02:29 ngày 10/10/2018
Mình đã khắc phục được rồi!
Mình thiếu mất đoạn này:

$views = mysql_result($result, 0 , num_views);
$views++;

Cám ơn mọi người đã giúp đỡ !
Bài liên quan
0