درود
چگونه میشود بازدید های اخیر هر کاربر را بدست اورد و نمایش داد؟
باتشکر
شما می تونید جدول جداگانه ای قرار دهید و هر زمان که کاربر وارد سایت یا هر صفحه ای که می شود یک رکورد را برای کاربر ذخیره کنید .
تشکر.ایا روشی برای استفاده از کوکی هم هست؟
کوکی احتمال پاک شدن داره و کلیه اطلاعات شما از دست میره ولی داخل دیتابیس شما گزارش کاملی از log ها رو خواهید داشت.
ممنون از راهنمایتون.
فقط یه مورد دیگه کوئری که دریافت اطلاعات کاربر از بازدید هر صفحه رو ذخیره میکنه داخل جدول با دستورات linq به چه صورته؟
سپاس
باید جدولتون و فیلد هاش مشخص باشه تا بشه کوئری زد ولی برای مثال :
var userId = "1"; // کد کاربر مورد نظر var result = db.UserLogs.Count(c => c.UserID == userId && (c.CreateDate <= DateTime.Now || c.CreateDate <= DateTime.Now.AddDays(-1)));
کوئری بالا تعداد بازدید کاربر مورد نظر را از یک روز قبل تا امروز نمایش میدهد (فیلد CreateDate در دیتابیس از نوع date گرفته شود)
بازم تشکر فراوان.
شما الان کوئری نمایش بازدید هارو دادید.
چگونه ذخیره کردن بازدید های کاربر رو امکانش هست بگید؟همراه با جدول مورد نیازش
این مورد به شما بستگی داره که چه فیلدهایی می خواهید در دیتابیس ذخیره شود.
خب من میخواهم محصولاتی که کاربر در فروشگاه بازدید میکند را در بازدیدهای اخیرش مشاهده کند پس باید اطلاعات محصول مثل نام و تصویر و ای دی اون محصول باشه!!!البته فکر کنم!
درود
من این قسمت رو پیاده سازی کردم ولی یه مشکلی که هست هردفعه که کاربر از محصولی بازدید میکنه یک رکورد ذخیره میشه که باعث افزونگی داده میشه ممکنه یک کاربر در یک روز چندبار یک محصول رو ببینه.
میخواهم یک بار داده ذخیره بشه و هردفعه که کاربر بازدید کرد فقط تاریخ بازدیدش در جدول اپدیت بشه .
الگوی من بر این اساس است که id کاربر و id محصول را بررسی کنیم قبل ثبت رکورد اگر وجود داشت فقط تاریخ اپدیت بشه ولی اگر قبلا این id ها ثبت نشده بود یک رکورد جدید ثبت بشه.
چگونه این شرط را میتونم پیاده کنم براساس این دو id ؟
لطفا راهنمایی کنید.
باتشکر
بهتره یک جدول جداگانه بگیرید و این دو IP را به همراه تاریخ روز در آن ذخیره کنید و کاربر زمانی که از محصول دیدن می کند یک رکورد جدید برای آن روز بخورد و در صورتی که برای آن روز کاربر رکوردی وجود داشت ثبت نشود. متد زیر یک مثال برای انجام انی کار است :
public static void SeeMethod(int productId, string currentUserIp) { using (var db = new DBContext()) { var product = db.Products.FirstOrDefault(p => p.ProductID == productId); var dateNow = DateTime.Now.Date; var isLog = db.UserProductLogs.Any(l => l.ProductID == productId && l.UserIP == currentUserIp && l.DateCreate == dateNow); if (!isLog) { var log = new UserProductLogs() { DateCreate = DateTime.Now.Date, ProductID = productId, UserIP = currentUserIp }; db.UserProductLogs.AddObject(log); product.See += 1; db.SaveChanges(); } } }
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)