مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

ghiamat

عضویت از 1392/09/11

ایجاد دسته بندی محصولات به صورت داینامیک و درج فیلتر برای هر کدام از دسته بندی ها به صورت داینامیک

  • چهارشنبه 29 اردیبهشت 1395
  • 10:30
تشکر میکنم

سلام.
من یه سایت املاک با mvc و sql server می خوام بزنم . فعلا میخوایم روی آپارتمان و ویلا کار کنیم. ولی بعدا ممکنه مغازه و زمین هم اضافه بشه به سایت. حالا من برای هر گروه از آگهی ها (آپارتمان - ویلا - مغازه - زمین) میخوام خصوصیات مخصوص در نظر بگیرم و بر اساس همین آیتم ها هم بتونم جستجو ایجاد کنم.

امکان داره از دوستان کسی بنده رو راهنمایی کنه دیتابیس رو چطوری مشکلم راحی کنم ؟

09376108116
09117058893

پاسخ های این پرسش

تعداد پاسخ ها : 8 پاسخ
کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • چهارشنبه 29 اردیبهشت 1395
  • 14:32

شما میتونید یک Table جدا برای ثبت ویزگی ها داشته باشید که کد گروه را داشته باشه و لیست ویژگی ها را دریافت کنه

کاربر سایت

ghiamat

عضویت از 1392/09/11

  • چهارشنبه 29 اردیبهشت 1395
  • 23:26

با سلام خدمت شما استاد عزیز

بنده جداول مورد نیاز رو طراحی کردم . حتی در سمت بازدید کنندگان هم نشونشون می دم بر اساس دسته بندی کالا ولی مشکل از جایی شروع میشه که میخوام بر اساس همین فیلترها (خصوصیات) جستجو انجام بدم.

تصاویر برو ببینید :

 

دیتابیس : (جدول کالاها رو بعدا تکمیل تر میکنم فعلا واسه تست همین چند تا فیلد رو داره.)

 

تصویر دوم :

در این تصویر فیلترها رو میارم

 

تصویر سوم :  هر کدوم از فیلترها دارای name=filteritem  هست که post    میشه به سرور .

 

بعد در سمت سرور کدهای زیر رو نوشتم :

if (FilterItem != null)
            {
                var q = from a in db.Tbl_Products
                        join b in db.Tbl_Filters_Products on a.ID equals b.ProductID
                        where a.TopicID == TopicID
                        select b;

                foreach (var item in FilterItem)
                {
                    var q2 = (from a in q
                              where a.FilterID == item
                              select a);
                    if (q2 != null)
                        foreach (var item2 in q2)
                        {
                            if (!LstProduct.Contains(item2.Tbl_Products))
                                LstProduct.Add(item2.Tbl_Products);
                        }

                }

            }
            else
            {
                var q = from a in db.Tbl_Products
                        where a.TopicID == TopicID
                        select a;
                LstProduct.AddRange(q);
            }

 

 

مشکل من اینه که این دستور (ناگفته نماند که بنده فیلمی آموزشی از سایت دانشجویار خریدم که اونجا این موارد رو تقریبا گفته بود) به صورت or  عمل میکنه. یعنی اگر هر آگهی یکی از این فیلترها رو داشته باشه میاد توی نتایج.

 

ولی من هدفم اینه که (توی تصویر دوم) فیلترها به تریتیبی که خودم توی مدیریت، تعیین میکنم نمایش داده بشه و بعنوان مثال اگر از باکس تعداد طبقات، دو مورد رو انتخاب کردم و از باکس امکانات 3 تا رو ، اول بیاد بر اساس باکس اول فیلتر کنه بعد بره از میان نتایج فیلتر شده ، امکانات رو جستجو کنه.  ایا راهی هست ؟  ممنون میشم راهنمایی کنید

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • پنجشنبه 30 اردیبهشت 1395
  • 07:20

شما میتونید فیلتر ها رو در منبع (مثلا Session) اد کنید  و به هر باکس یک کد اولویت بدید

سپس در زمان فیلتر ابتدا لیست را واکشی کنید و سپس براساس اولویت مرتب کنید و بعد فیلتر را اعمال کنید

کاربر سایت

ghiamat

عضویت از 1392/09/11

  • پنجشنبه 30 اردیبهشت 1395
  • 07:33

سلام. تا حالا با این روش که فرمودید کار نکردم. امکان داره یه مثال بزنید.  دیگه اینکه session  به سرور فشار نمیاره ؟ چطوری توی سشن اولویت ها رو اعمال کنم ؟

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • پنجشنبه 30 اردیبهشت 1395
  • 07:44

برای اولویت میتونید از یک عدد استفاده کنید

هرچی بالا تر بود اولویت بیشتر است

کاربر سایت

ghiamat

عضویت از 1392/09/11

  • پنجشنبه 30 اردیبهشت 1395
  • 08:17

امکان داره یه مثال ساده بزنید ؟

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • پنجشنبه 30 اردیبهشت 1395
  • 11:49

در اولین فرصت خالی که گیرم بیاد براتون نمونه درست میکنم

کاربر سایت

ghiamat

عضویت از 1392/09/11

  • پنجشنبه 30 اردیبهشت 1395
  • 15:05

ممنونم

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)