PDA

View Full Version : سوال: بدست آوردن میانگین ساعت بازدید از یک سایت



hamidhassas
پنج شنبه 08 آبان 1393, 11:54 صبح
من یک فیلد به نام time دارم که در اون ساعت بازدید هر کاربر از سایت زخیره میشه به صورت مثلا 13:54:21 حالا میخوام کاری کنم که برام چاپ کنه که مثلا بین ساعت 12 تا 14 بیشترین حجم بازد ها وجود داشته چطوری میتونم این کار رو بکنم

arash691
پنج شنبه 08 آبان 1393, 12:40 عصر
اگه هر کاربر ساعت ورودش ثبت شده فقط کافیه یک کوئری بگیری که تعداد هر کاربر وارد شده در بازه ی ساعت مشخص رو بهت برگردونه سراخر بیشترین تعداد مربوط به یک بازه رو بعنوان بازه ی پربازدید نمایش بده

hamidhassas
پنج شنبه 08 آبان 1393, 13:47 عصر
یعنی 24 بار یک کد رو بنویسم که تعداد رکورد ها رو بین هر ساعت بدست بیاره بعد بیشترین مقدار رو چاپ کنم

اینجوری


$result=mysql_query("SELECT COUNT(*) as count FROM `statistic` WHERE `date`='".$date."' and `time` BETWEEN '00:00:00' AND '01:00:00'");
if(mysql_num_rows($result)!=0) {
echo $time_visit=mysql_result($result,0,'count'); }

bagherok
پنج شنبه 08 آبان 1393, 21:03 عصر
خوب اول تعدا بازدید هرساعت رو بدست میاری بعد هربلایی که خواستی با PHP سرش میاری:لبخندساده:
خروجی زیر
بازدید ها براساس ساعت و تعدا

SELECT HOUR(time) AS h, COUNT(*) cnt
FROM table
GROUP BY h
Order by cnt DESC;



هم میتونی خروجی دو سطر اول رو به عنوان باز زمانی پربازدید درنظر بگیری.

cpuram
پنج شنبه 08 آبان 1393, 21:18 عصر
فکر کنم اگه timestamp ذخیره بشه بهتره.
http://stackoverflow.com/questions/20526113/calculating-average-time-between-unix-timestamps

hamidhassas
جمعه 09 آبان 1393, 00:56 صبح
یشه بگین دقیقل به فارسی یعنی چی

behnamy01
شنبه 10 آبان 1393, 18:18 عصر
خوب اول تعدا بازدید هرساعت رو بدست میاری بعد هربلایی که خواستی با PHP سرش میاری:لبخندساده:
خروجی زیر
بازدید ها براساس ساعت و تعدا

SELECT HOUR(time) AS h, COUNT(*) cnt
FROM table
GROUP BY h
Order by cnt DESC;



هم میتونی خروجی دو سطر اول رو به عنوان باز زمانی پربازدید درنظر بگیری.

سلام . میشه در مورد این کوئریتون توضیح بدید؟ چون من تا حالا کوئری اینجوری ندیده بودم! یعنی توی خود دستورات SQL چیزی رو که با SELECT دارید بیرون میکشید رو بهش نام میدید ( h و cnt) ؟ مشکل من قسمت AS h و COUNT(*) cnt هستش که واسم نا آشناس!
ممنون

bagherok
شنبه 10 آبان 1393, 19:37 عصر
سلام . میشه در مورد این کوئریتون توضیح بدید؟ چون من تا حالا کوئری اینجوری ندیده بودم! یعنی توی خود دستورات SQL چیزی رو که با SELECT دارید بیرون میکشید رو بهش نام میدید ( h و cnt) ؟ مشکل من قسمت AS h و COUNT(*) cnt هستش که واسم نا آشناس!
ممنون

هردو alias هستند چه با as و چه بدون as

http://www.w3schools.com/sql/sql_alias.asp

وهمنطور که از اسشم پیدا یه نام مستعارهست و
بیشتربرای کوتاه کردن و دادن یه اسم دلخواده به جداول و ستون های جدول مورد استفاده قرار میگیره.