شمارنده

سلام دوستان.من تو php تازه کارم و چند تا سوال دارم اگه میشه کامل بهم توضیح بدبد و کدش و بهم بگید.
یکی انکه چجوری شمارنده بسازم
دوم این که تعداد افرار انلاین را نشان بدم
خیلی ممنون میشم کامل توضیح بدبد
بای
 

tabib_m

Member
یک جدول لازم داری
که فیلدهای زیر رو داشته باشه (بسته به نیاز ، میتونی کم یا زیادترشون بکنی:
PHP:
id
page
pageview
(این واقعا ساده ترین نوعش بود)

اونوقت توی صفحه مورد نظر یه همچین کدی میذاری:
PHP:
$query=mysql_query("select `pageview` from `amarTable` where `page`='$page'");
if($row=mysql_fetch_row($query)){
     $pageview=$row[0]+1;
     $query=mysql_query("update `amarTable` set `pageview`='$pageview' where `page`='$page'");
}else{
     $query=mysql_query("insert into `amarTable` set `pageview`='1' , `page`='$page'");
}
فیلد page ، حاوی یک مقدار هست که نشون دهنده ی صفحه ی جاری هست. مثلا میتونی اگه توی صفحه ی اصلی هستی ، براش مقدار INDEX رو در نظر بگیری ، و یا اگر توی صفحه ی "درباره ی ما" هستی میتونی براش مقدار "ABOUT US" رو در نظر بگیری.
میتونی هم یک مقدار "ALL" رو داشته باشی و توی همه ی صفحه ها هم براش این کد رو صدا بزنی که بتونی آمار بازدید از کل سایت رو هم داشته باشی (نه فقط یک صفحه ی خاص).

در کل میتونی به یک تابع هم تبدیلش کنی که راحتتر باشی

اگر امکانات بیشتری خواستی خودت میتونی فیلدهای بیشتری به جدول اضافه کنی.
در کل به امکاناتی که خودت میخوای بستگی داره...


---------------------------------------------------------
برای این که تعداد افراد آنلاین رو بدونی یه همچین کاری میتونی بکنی:
یک table بساز که یه همچین فیلدهایی داشته باشه:
PHP:
id
ip
time
نوع time رو هم timestamp بذار.
(این هم یک نوع ساده بود!)

بعد توی هر صفحه یه همچین کدی رو بذار:
PHP:
$ip=$_SERVER['REMOTE_ADDR'];

$query=mysql_query("insert into `amarTable2` set `ip`='$ip'");

بعد برای اینکه ببینی مثلا توی این 5 دقیقه ی اخیر چند نفر روی سایت بودن ، یه همچین کدی رو نیاز داری:
PHP:
$time=time()-(5*60);
$theTime=date("Y-m-d H:i:s");
$query=mysql_query("select `ip` from `amarTable2` where `time`>'$theTime' group by `ip`");
$tedad=mysql_num_rows($query);

echo $tedad; //تعداد افراد آنلاین

در کل ، راههای دیگه ای هم برای این جور کارا هست
من یکی از راه های ساده ش رو نشونت دادم
دیگه خودتی و کدهای خودت
ببین چی نیاز داری ، همونجوری که میخوای بساز.


پ.ن: کدهای آماده ای هم برای این کارها هستن ولی پیشنهاد میکنم خودت بنویسی!

موفق باشید.
 
آخرین ویرایش:
اقا سید قربون دستت.خیلی باحات حال کردم.تا حالا هیچ کس به این توپی بهم نگفته بود.حالا دو تا سوال دارم
اول: چرا وقتی فقط خودم تو سایتم اعضای انلاین را صفر میزنه؟
سوال دومم منظورتون از اینکه فیلد page را مقدار "ABOUT US قرار بدم یعنی default را مقدار "ABOUT US قرار بدم؟
ممنون میشم راهنماییم کنید
راستی ما با هم پسر عموییم
سید محمد
 

tabib_m

Member
چرا وقتی فقط خودم تو سایتم اعضای انلاین را صفر میزنه؟
شايد كد رو درست وارد نکرده باشی.
توی دیتابیس چیزی ثبت میشه یا نه؟
اگه ثبت میشه ، چجوری ثبت میشه؟

سوال دومم منظورتون از اینکه فیلد page را مقدار "ABOUT US قرار بدم یعنی default را مقدار "ABOUT US قرار بدم؟
نه ، تقریبا.
یعنی اگه داری همین کد رو توی صفحه ی مثلا about_us.php استفاده میکنی ، توی صفحه مقدار $page رو برابر با about_us قرار بده که بعدا که میخوای نتایج مخصوص همین صفحه رو ببینی ، با یک سلکت و شرط ساده ، قابل حل باشه.

موفق باشید.
 

جدیدترین ارسال ها

بالا