PDA

View Full Version : سوال: تعداد بازدید یک خبر



Khorshid Khanum...
چهارشنبه 20 آذر 1392, 19:15 عصر
با سلام.یه سوال داشتم.روی صفحه اصلی سایتم (سایت خبری)،یه data list قرار دادم و داخل اون یه hyperlink برای ادامه مطلب گذاشتم.حالا میخوام روی ادامه مطلب که کلیک میکنم به تعداد بازدید اون خبر داخل پایگاه داده ام یکی اضافه بشه.
ممنون میشم اگه کمکم کنید.

mohammad kafiyan
چهارشنبه 20 آذر 1392, 20:42 عصر
شما کافی با querystring کد خبر را به صفحه دیگر پاس بدهید و در صفحه دیگر در قسمت load همان صفحه کد خبر دریافت و سپس بر اساس همان کدخبر فیلد مربوط به بازدید آن خبر را تغییر دهید

Progman.ir
چهارشنبه 20 آذر 1392, 22:59 عصر
با سلام.یه سوال داشتم.روی صفحه اصلی سایتم (سایت خبری)،یه data list قرار دادم و داخل اون یه hyperlink برای ادامه مطلب گذاشتم.حالا میخوام روی ادامه مطلب که کلیک میکنم به تعداد بازدید اون خبر داخل پایگاه داده ام یکی اضافه بشه.
ممنون میشم اگه کمکم کنید.

اگه این کار رو به XML انجام بدید سریعتر و بهتره.هر چی نظر خودتونه

shima and pariya
چهارشنبه 20 آذر 1392, 23:28 عصر
ميشه با xml روش كارو توضيح بديد؟

Kamarian.Reza
پنج شنبه 21 آذر 1392, 00:45 صبح
بنده با XML کار نکردم، ولی اگه می‌خوای با QueryString انجام بدی، به این صورت میشه
با کلیک بر روی لینک خبر، کد خبر به صورت QueryString به صفحه نمایش پاس داده می‌شه. بنده مقدار این QueryString رو PID در نظر گرفتم
روی رویداد Page_Load صفحه نمایش اخبار، مقدار QueryString‌ رو چک میکنی


if (!string.IsNullOrEmpty(Request.QueryString["PID"]))
{
int Page_ID = Convert.ToInt32(Request.QueryString["PID"]);
DataAccessLayer.Pages.Update_Visit(Page_ID);
}

بنده برای شمارش تعداد بازدید خبر، یک فیلد از نوع صحیح به نام Visit‌در نظر گرفتم
در هر بار بازدید، مقدار این فیلد با استفاده از Store Procedure به نام Update_Visit یکی اضافه میشه


ALTER PROCEDURE [dbo].[Pages_Update_Visit] @Page_ID INT
AS
BEGIN
UPDATE Pages
SET Pages.Visit = Visit + 1
WHERE [Page_ID] = @Page_ID
END

Progman.ir
پنج شنبه 21 آذر 1392, 17:34 عصر
بنده با XML کار نکردم، ولی اگه می‌خوای با QueryString انجام بدی، به این صورت میشه
با کلیک بر روی لینک خبر، کد خبر به صورت QueryString به صفحه نمایش پاس داده می‌شه. بنده مقدار این QueryString رو PID در نظر گرفتم
روی رویداد Page_Load صفحه نمایش اخبار، مقدار QueryString‌ رو چک میکنی


if (!string.IsNullOrEmpty(Request.QueryString["PID"]))
{
int Page_ID = Convert.ToInt32(Request.QueryString["PID"]);
DataAccessLayer.Pages.Update_Visit(Page_ID);
}

بنده برای شمارش تعداد بازدید خبر، یک فیلد از نوع صحیح به نام Visit‌در نظر گرفتم
در هر بار بازدید، مقدار این فیلد با استفاده از Store Procedure به نام Update_Visit یکی اضافه میشه


ALTER PROCEDURE [dbo].[Pages_Update_Visit] @Page_ID INT
AS
BEGIN
UPDATE Pages
SET Pages.Visit = Visit + 1
WHERE [Page_ID] = @Page_ID
END


داداش XML یه چیز دیگه بجز استفاده از دیتابیسه. QueryString شما اطلاعات رو در دیتابیس اس کیو ال یا اوراکل و یا اکسس در نهایت ، SAve میکنه اما XML یعنی سرعت ذخیره و بازیابی اطلاعات در عین اینکه جلوی Sql Injection رو بگیری

Khorshid Khanum...
جمعه 22 آذر 1392, 09:06 صبح
میشه بگید این دستورات رو کجا باید بنویسم؟

demolition
جمعه 22 آذر 1392, 11:37 صبح
داداش XML یه چیز دیگه بجز استفاده از دیتابیسه. QueryString شما اطلاعات رو در دیتابیس اس کیو ال یا اوراکل و یا اکسس در نهایت ، SAve میکنه اما XML یعنی سرعت ذخیره و بازیابی اطلاعات در عین اینکه جلوی Sql Injection رو بگیری

بهترین راه مقابله با Sql Injection همین Store Procedure هست که دسترسی هکر را به کدهای sql محدود میکنه .
Store Procedure از لحاظ سرعت میشه گفت بی رقیبند

Kamarian.Reza
شنبه 23 آذر 1392, 07:48 صبح
داداش XML یه چیز دیگه بجز استفاده از دیتابیسه. QueryString شما اطلاعات رو در دیتابیس اس کیو ال یا اوراکل و یا اکسس در نهایت ، SAve میکنه اما XML یعنی سرعت ذخیره و بازیابی اطلاعات در عین اینکه جلوی Sql Injection رو بگیری

در مورد استفاده از XML که گفتم، بنده کار نکردم اما در مورد نحوه استفاده از روشی که توضیح دادم، من از Stored Procedure استفاده می‌کنم که 100% ایمن هستش