شما وارد حساب خود نشده و یا ثبت نام نکرده اید. لطفا وارد شوید یا ثبت نام کنید تا بتوانید از تمامی امکانات انجمن استفاده کنید.
تالار خورجوان

زمان کنونی: ۳-۵-۱۳۹۱, ۰۵:۳۴ صبح درود مهمان گرامی! (ورودثبت نام)


ارسال پاسخ 
 
امتیاز موضوع:
  • 0 رأی - میانگین امیتازات : 0
  • 1
  • 2
  • 3
  • 4
  • 5
نمایش آمار بازدید روزانه با PHP
۹-۲۴-۱۳۹۰, ۰۱:۱۱ صبح
ارسال: #1
نمایش آمار بازدید روزانه با PHP
اسکریپتی که توی این پست قصد آموزشش رو دارم ، اسکریپت نمایش آمار بازدید امروز ، دیروز و کل بازدید ها هست که توی اکثر سایت ها به اون نیاز هست و مطمئنا به دردتون می خوره.
برای شروع کار یک جدول با نام counter با فیلدهای today,yesterday,total,last_visit بسازید.

کد PHP:
CREATE TABLE IF NOT EXISTS `counter` (
  `
todayINT(11NOT NULL,
  `
yesterdayINT(11NOT NULL,
  `
totalvarchar(11NOT NULL,
  `
last_visitvarchar(20NOT NULL
ENGINE=MyISAM DEFAULT CHARSET=utf8 
و یک سطر جدید درج کنید .

کد PHP:
INSERT INTO `counter` (`today`, `yesterday`, `total`, `last_visit`) VALUES
('0''0''0'''); 

حوه کار به این شکل هست که ابتدا مقدار فیلد last_visit رو که مربوط به تاریخ آخرین بازدید انجام شده از سایت هست رو از دیتابیس می خونیم ، بعد با استفاده از تابع ()date تاریخ فعلی رو بدست میاریم و با مقدار موجود در last_visit مقایسه می کنیم ، در صورتی که این دو تاریخ باهم برابر باشند مقدار فیلد today رو یکی افزایش میدیم در غیر این صورت متوجه میشیم که آخرین بازدید در روز دیگه ای انجام شده که ما اونو روز قبل در نظر می گیریم و مقدار فیلد yseterday رو برابر با today قرار میدیم و مقدار فیلد today رو مساوی با یک می زاریم و تاریخ آخرین بازید رو هم به روز می کنیم .
توجه داشته باشید که در هر دو حالتی که پیش میاد مقدار فیلد total رو هم یکی افزایش میدیم .
در مرحله آخر هم مقادیر موجود در دیتابیس رو select و چاپ می کنیم .

۱ – خواندن اطلاعات از دیتابیس

کد PHP:
$con=mysql_connect('localhost','root','');
if(!
$con)
    die(
'error in connect to db');
$select_db=mysql_select_db('test');
if(!
$select_db)
    die(
'error in select db');
$query=mysql_query('select last_visit from counter');
$field=mysql_fetch_array($query); 

۲ – مقایسه تاریخ آخرین بازدید با تاریخ جاری

کد PHP:
$now=date('Y-m-d');
if(
$field['last_visit']==$now)
    
$query='update counter set today=today+1,total=total+1';
else
    
$query="update counter set yesterday=today,today=1,last_visit='$now',total=total+1";
mysql_query($query); 
3 – نمایش آمار
برای نمایش مقادیر ذخیره شده هم دوباره از دیتابیس یه select انجام میدیم و مقادیر رو چاپ می کنیم .
کد PHP:
$query=mysql_query('select * from counter');
$field=mysql_fetch_array($query);
echo 
"

    بازدیدهای امروز : $field[today] 

    بازدیدهای دیروز : $field[yesterday] 

    کل بازدیدها : $field[total]

"


کد کامل اسکریپت :

کد PHP:
//read last_visit from db
$con=mysql_connect('localhost','root','');
if(!
$con)
    die(
'error in connect to db');
$select_db=mysql_select_db('test');
if(!
$select_db)
    die(
'error in select db');
$query=mysql_query('select last_visit from counter');
$field=mysql_fetch_array($query);
//Compare dates
$now=date('Y-m-d');
if(
$field['last_visit']==$now)
    
$query='update counter set today=today+1,total=total+1';
else
    
$query="update counter set yesterday=today,today=1,last_visit='$now',total=total+1";
mysql_query($query);
//display counter
$query=mysql_query('select * from counter');
$field=mysql_fetch_array($query);
echo 
"

    بازدیدهای امروز : $field[today] 

    بازدیدهای دیروز : $field[yesterday] 

    کل بازدیدها : $field[total]

"

یافتن تمامی ارسال های این کاربر
نقل قول این ارسال در یک پاسخ
ارسال پاسخ 


پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان
Persian MyBB : MyBBIran.com
Powered by MyBB | Copyright © 2009 MyBB Group
Element Blue by MyBB Mod | RTL by MyBBIran.com