<% dim selectfield, sortfield, sortupdown, displayfields dim selectvalue, displayfield, displaycaptions, displayfieldcount dim sortfield2, sortupdown2 '*********************************************************** ' Filter product display VP-ASP 4.50 ' April 8, 2002 version no display fields and two sortfields '************************************************************ GetInput ' see what user wants GenerateSQL ' generate SQL Setsess "SQL",SQL setsess "sqlquery",sql 'debugwrite sql Response.Redirect "shopdisplayproducts.asp?page=1&filter=yes" ' Sub GetInput sortfield=request("sortfield") sortfield2=request("sortfield2") displayfield=request("displayfields") selectfield=request("selectField") sortupdown=request("sortupdown") sortupdown2=request("sortupdown2") selectvalue=request("Selectvalue") Category=GetSess("Category") ' see what previous one was cat_id=getsess("Cat_id") DisplayFieldCount = Request("DisplayFields").Count If Displayfieldcount=0 then setsess "proddisplaycount",0 else DisplayFields= Split(DisplayField, ", ", -1, 1) If DisplayFields(0)="All" then Displayfieldcount=0 else Generatedisplaycaptions end if SetSessA "ProdDisplayFields",DisplayFields SetSess "prodDisplaycount",displayfieldcount end if If sortfield=langcommonselect then sortfield="" end if If sortfield2=langcommonselect then sortfield2="" end if if sortfield2=sortfield then sortfield2="" end if 'debugwrite "displayfields=" & displayfield & " count=" & Displayfieldcount setsess "Prodsortfield",sortfield setsess "Prodsortfield2",sortfield2 setsess "prodselectfield",selectfield setsess "prodsortupdown",sortupdown setsess "prodsortupdown2",sortupdown2 end sub Sub GenerateSQL SQL = GetSess("sqlnofilter") If sql="" then sql=getsess("Sql") end if SQL = Left(SQL, InStr(1,SQL,"order by")-1) AddFiltering If sortfield<>"" Then sql=sql & " order by " & sortfield & " " & sortupdown If sortfield2<>"" Then sql=sql & "," & sortfield2 & " " & sortupdown2 end if else sql = sql & " order by " & getconfig("xsortproducts") end if end sub Sub AddFiltering If SelectField=LangCommonselect then selectvalue="" end if If selectvalue<>"" then sql=sql & " and " & selectfield & " like '%" & selectvalue & "%'" end if End Sub Sub GenerateDisplaycaptions Dim Prodfields, prodheader, capcount, i, caption redim displaycaptions(displayfieldcount-1) SetupProductFields ProdFields, ProdHeader capcount=0 for i = 0 to ubound(displayfields) locatecaption caption, displayFields(i), prodfields, prodheader displaycaptions(capcount)=caption capcount=capcount+1 'debugwrite "field=" & displayfields(i) & " caption=" & caption next setsessa "proddisplaycaptions",displaycaptions end sub sub locatecaption (caption, fieldname, prodfields, prodheader) dim i for i =0 to ubound(Prodfields) if ucase(fieldname)=ucase(prodfields(i)) then caption=prodheader(i) exit sub end if next caption="????" end sub %>