PDA

View Full Version : شمارش تعداد بازدید یک مطلب



sara_aryanfar
شنبه 29 بهمن 1390, 14:49 عصر
با سلام خدمت دوستان چطور می توان تعداد بازدید از یک مطلب رو به دست آورد در سایت برخی دوستان از فایل گلوبال استفاده کرده بودن بهترین راه چی هست البته به نظر خودم رسید در همون صفحه ای که خبر رو نمایش میدم یکی به فیلد بازدید اضافه کنم دوستان از چه راهی استفاده می کنن ممنون میشم راهنمایی کنین

crazy_1892
شنبه 29 بهمن 1390, 15:33 عصر
فکر میکنم توی اکپر سایتها هم همین کار می کنند یک فیلد شمارنده اضافه می کنند

sara_aryanfar
شنبه 29 بهمن 1390, 16:29 عصر
مشکل من اینه که داخل اون صفحه نمی خوام دوبار به دیتا بیس وصل بشم یعنی می خوام در همون بار اولی که خبر رو می خونم همون بار هم فیلد آمار رو به روز کنم اما نمی دونم چطوری

hjran abdpor
شنبه 29 بهمن 1390, 17:20 عصر
تو رویداد لود صفحه و Jquery بهترین را حل برای شما است.

mmnoody2006
شنبه 29 بهمن 1390, 17:59 عصر
خواهر گرامی در همون استور پروسیجر select عملیات update رو انجام بدید

sara_aryanfar
شنبه 29 بهمن 1390, 21:23 عصر
برادر گرامی منم همین کارو می خوام بکنم در مورد sp نوشتنش دوستان گفتند اما در مورد نحوه استفاده از این sp مشکل دارم یعنی همون کدی که قسمت بهینید می نویسیم

sara_aryanfar
شنبه 29 بهمن 1390, 21:52 عصر
دوستان اگه ممکنه یه سمپل بزارید اونطوری درکش خیلی بهتر خواهد بود ممنون میشم

javad.nic63
یک شنبه 30 بهمن 1390, 09:03 صبح
این نمونه sp:

Create Proc ProcName @code int
as
declare @count int
set @count=select count from tableName where id=@code
Update TableName count=@count+1 where id=@code
select * from TableName


برای فراخوانی این store procedure می تونی از دستور exec ProcName @code استفاده کنی که پارامتر @code را با کد Identity اون مطلبت پر کن

sara_aryanfar
یک شنبه 30 بهمن 1390, 10:30 صبح
من کد شما رو به کار بردم اما باز هم کار نکرد

sara_aryanfar
یک شنبه 30 بهمن 1390, 11:11 صبح
یعنی هیچکس یه مثال نداره بزاره من بتونم ازش یاد بگیرم :گریه:

ASP.NET2
یک شنبه 30 بهمن 1390, 12:40 عصر
با سلام خدمت دوستان چطور می توان تعداد بازدید از یک مطلب رو به دست آورد در سایت برخی دوستان از فایل گلوبال استفاده کرده بودن بهترین راه چی هست البته به نظر خودم رسید در همون صفحه ای که خبر رو نمایش میدم یکی به فیلد بازدید اضافه کنم دوستان از چه راهی استفاده می کنن ممنون میشم راهنمایی کنین

سلام.
فایل Global.ascx به ازای کل app وجود داره پس به نظر نمیرسه که بشه با استفاده ازش این کارو انجام داد. و اگه بخوایید از رویداد PageLoad صفحه استفاده کنید بازم به مشکل بر خواهید خورد که عبارتند از:

1-صفحه داره برا اولین بار لود میشه یا نه؟

2-صفحه postback شده یانه؟

3-صفحه توسط کاربر با کلید F5 رفرش شده یانه ؟

که شما حتماً دوست دارید که کاربر وقتی برای اولین بار وارد این صفحه میشه ویا رو لینکش کلیک میکنه به تعداد بازدید اضافه بشه! پس تفکیک این سه تا رویداد خیلی مهم هستش.
خوب اینا مشکلاتی هستن که راه حل دارن ولی به این راحتی ها قابل تشخیص و حل نیستن:

شاید راه های دیگه ای هم وجود داشته باشه ولی راهی که به نظر من میرسه اینه که شما ID یا مشخصه خبر رو به یک فایل Handler ارسال کنید با استفاده از QueryString سپس در فایل Handler یک واحد به تعداد بازدید یا همون Count که تو جدولتون در نظر گرفتین اضافه کنید و دوباره کاربر رو به صفحه که مد نظرتون هست هدایت کنید.

ramin149
یک شنبه 30 بهمن 1390, 23:26 عصر
http://barnamenevis.org/showthread.php?320703-%D8%A8%D8%AF%D8%B3%D8%AA-%D8%A2%D9%88%D8%B1%D8%AF%D9%86-%D8%AA%D8%B9%D8%AF%D8%A7%D8%AF-%D8%A8%D8%A7%D8%B2%D8%AF%DB%8C%D8%AF-%D8%A7%D8%B2-%DB%8C%DA%A9-%D8%AE%D8%A8%D8%B1

ASP.NET2
دوشنبه 01 اسفند 1390, 12:08 عصر
http://barnamenevis.org/showthread.php?320703-%D8%A8%D8%AF%D8%B3%D8%AA-%D8%A2%D9%88%D8%B1%D8%AF%D9%86-%D8%AA%D8%B9%D8%AF%D8%A7%D8%AF-%D8%A8%D8%A7%D8%B2%D8%AF%DB%8C%D8%AF-%D8%A7%D8%B2-%DB%8C%DA%A9-%D8%AE%D8%A8%D8%B1
ولی این درست نیست که برای هر بازدید بخوای یه ip ذخیره کنی تو دیتابیس ! و هزینه صرفش بشه. اصلاً منطقی نیست. شاید برا نظر سنجی مناسب باشه ولی برا خبر به صرفه نیست.

sara_aryanfar
دوشنبه 01 اسفند 1390, 13:07 عصر
من سیستم ها آماده رو هم بررسی کردم همه اونا با رفرش صفحه تعداد بازدید خبر بالا میره پس فکر نکنم راه حل آسونی داشته باشه البته با آی پی و غیره شاید بشه اما خب به قول دوستمون اصلا به صرفه نیست بخصوص اگه بازدید سایت بالا باشه

alonemm
دوشنبه 01 اسفند 1390, 16:08 عصر
من سیستم ها آماده رو هم بررسی کردم همه اونا با رفرش صفحه تعداد بازدید خبر بالا میره پس فکر نکنم راه حل آسونی داشته باشه البته با آی پی و غیره شاید بشه اما خب به قول دوستمون اصلا به صرفه نیست بخصوص اگه بازدید سایت بالا باشه

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

معمولا اینها برای کاربران مشخص میشه و نسبت به ID کاربران سایت میشه به بازدید درستی دست پیدا کرد.

lord_viper
دوشنبه 01 اسفند 1390, 17:47 عصر
من برای اینکه کاربر نتونه یک صفحه رو پشت هم رفرش کنه یک کوکی تعریف کردم که ادرس جاری رو توش ذخیره میکنم در صفحات اخبار اگه مقدار ادرس درون کوکی با مقدار ادرس جاری برابر نباشه یعنی کاربر تازه وارد این صفحه شده اگه برابر بود یعنی کاربر این صفحهع رو داره رفرش میکنه یا یک پست بک در صفحه رخداده

mehrdad85
سه شنبه 02 اسفند 1390, 11:23 صبح
با سلام
واقعیتش نمیدونم درست متوجه منظورتون شدم یا نه و مشکل را درست فهمیدم یا نه
اما امیدوارم این پست بتونه مشکلتونو حل کنه

بعد از اینکه STORE PROCEDURE مورد نظرتونو در SQL SERVER نوشتید به داخل پروژتون برید و داخل صفحه مورد نظرتون داخل متد PAGE_LOAD اون اینطور store procedure ای نوشتید را صدا بزنید :
ابتدا connection به دیتابیس میسازید
یه command میسازید
نوع اون command را مشخص میکنید
متن اون command را تعیین میکنین
connection ای که ساختید را برای اون command ست میکنین
اگه store procedure ای که تعریف کردید پارامتر میگیره که تا جایی که من متوجه شدم برای شما پارامتری پاس داده نمیشه به اون اما خب در حالت کلی اینطوریه(شما میتونید این قسمت را خالی بذارید)

پارامتر ها را پاس میدید و نهایتا اونو صدا میکنین

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



SqlCommand command = new SqlCommand ()

store procedure name"" = command.CommandText

نام متغیری که باید برای وصل شدن به بانک ست کنید = command.Connection

command.CommandType = CommandType.StoredProcedure;

SqlParameter p= new SqlParameter(variable name, SqlDbType.variableType);
page.Value = مقدار مورد نظر

command.Parameters.Add(p(