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

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

کاربر سایت

salehi_so

عضویت از 1394/08/04

ساخت فیلتر محصولات

  • سه شنبه 29 دی 1394
  • 15:46
تشکر میکنم

با سلام

من یک فروشگاه دارم و قصد دارم چند نوع فیلتر براش قرار بدم مشابه تصویر ،که همگی قابلیت انتخاب داشته باشند ،لطفا راهنمایی کنید چطور این کار رو انجام بدم..

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

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

ایمان مدائنی

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

  • سه شنبه 29 دی 1394
  • 15:56

الان مشکل کجاست ؟

توی نمایش مشکل دارید یا فیلتر کردن ؟

کاربر سایت

salehi_so

عضویت از 1394/08/04

  • سه شنبه 29 دی 1394
  • 16:29

من یک جدول تعریف کردم که فیلتر هام داخلش درج میشه ، یک جدول محصولات دارم و و جدول سومی هم که آی دی محصول وآی دی فیلتر در آن درج میشه ،حالا می خوام مقادیر گزینه های انتخاب شده چک باکس ها رو ارسال کنم به یک تابع تا آن تابع محصولی که حاوی تمام این فیلتر ها هست رو نمایش بده .برای مثال اگر آبی و مجلسی انتخاب شده باشه که هرکدام از چک لیست متفاوت هست محصولی نمایش داده بشه که مجلسی آبی باشه..

کاربر سایت

ایمان مدائنی

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

  • سه شنبه 29 دی 1394
  • 16:52

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

 

با تیک زدن هرگزینه کد و مقدار را به لیست اضافه کنید

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

کاربر سایت

salehi_so

عضویت از 1394/08/04

  • سه شنبه 29 دی 1394
  • 17:07
این sp هست که من نوشته ام

ALTER PROCEDURE [dbo].[Get_widthsubsub_forDisplay_Product]
(
@FoodDevice_co_pr_Id_sub_sub int,
@FoodDevice_co_pr_Id_common nvarchar(max),
@numberpage int,
@countitempage int

)
AS
SET NOCOUNT ON 

 CREATE table #tableshow
(
ID int identity,
product_id int,
name nvarchar(100),
ID_subsub INT,
ID_sub INT,
countdevice int,
descr nvarchar(2000),
discount int,
active bit,
price int,
images nvarchar(250),
type_d int,
rating int,
rateing_count int,
rate int,
parent int
)
insert into #tableshow(product_id,name,ID_subsub,ID_sub,countdevice,descr,discount,active,
price,images,type_d,rating,rateing_count,rate,parent)
select d.[FoodDevice_Device_Id],d.[FoodDevice_Device_Name],d.[Food_Device_Device_Sub_sub],d.Food_Device_Device_Sub,
d.[FoodDevice_Device_Count],d.[FoodDevice_Device_Description],d.[FoodDevice_Device_Discount],d.[FoodDevice_Device_Active],
d.[FoodDevice_Device_Price],d.[FoodDevice_Device_Image],d.[FoodDevice_Device_Type],d.[FoodDevice_Device_Rating],d.[FoodDevice_Device_Rating_count],d.[FoodDevice_Device_Rate],d.[Food_Device_Device_Parent] from [FoodDevice_co_pr_Id] fc
inner join [FoodDevice_Device] d
on d.FoodDevice_Device_Id=fc.FoodDevice_co_pr_Id_product
inner join [FoodDevice_common_f_value] fv
on fv.FoodDevice_common_f_value_id=fc.FoodDevice_co_pr_Id_common
inner join [FoodDevice_Sub_Submenu] ss
on ss.FoodDevice_Sub_Submenu_Id=fc.FoodDevice_co_pr_Id_sub_sub
where 
(fc.FoodDevice_co_pr_Id_sub_sub=@FoodDevice_co_pr_Id_sub_sub)
and
(fc.FoodDevice_co_pr_Id_common IN (select * from dbo.[UF_CSVToTable] (@FoodDevice_co_pr_Id_common)))


declare @firstrecord int,@lastrecord int
select @firstrecord=(@numberpage-1)*@countitempage
select @lastrecord=(@numberpage * @countitempage +1)
select * ,
morerecords=
(select count(*)
from #tableshow ti
where ti.ID >= @lastrecord
)
from #tableshow
where ID>@firstrecord and ID<@lastrecord


drop table #tableshow
set nocount off


 

کاربر سایت

salehi_so

عضویت از 1394/08/04

  • سه شنبه 29 دی 1394
  • 17:08

کاربر سایت

salehi_so

عضویت از 1394/08/04

  • سه شنبه 29 دی 1394
  • 17:14

و تصویر بالا مقادیر جدول هست ،همون طور که مشخصه من وقتی مقادیر رو از طریق پارامتر @FoodDevice_co_pr_Id_common ارسال میکنم که با کاما از هم جدا شدند از طریق تابع

[UF_CSVToTable] به آرایه تبدیل میکنم اما مشکل اینجاست که محصولات به صورت تکراری برمیگرداند چون یک محصول ممکن است چند فیلتر داشته باشد ،به ازای هر فیلتر برگردانده میشود و بررسی نمی کند محصولی که همه فیلتر های ارسالی را دارد برگرداند..

خیلی ممنون اگر راهنمایی کنید چطور میتونم حلش کنم..

کاربر سایت

ایمان مدائنی

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

  • سه شنبه 29 دی 1394
  • 19:02

به زودی یک نمونه آماده میکنم و در سایت قرار میدم

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

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

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

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