类似于京东商城等的商品分类搜索筛选功能实现.doc

上传人:rrsccc 文档编号:9330087 上传时间:2021-02-19 格式:DOC 页数:9 大小:93.50KB
返回 下载 相关 举报
类似于京东商城等的商品分类搜索筛选功能实现.doc_第1页
第1页 / 共9页
类似于京东商城等的商品分类搜索筛选功能实现.doc_第2页
第2页 / 共9页
类似于京东商城等的商品分类搜索筛选功能实现.doc_第3页
第3页 / 共9页
类似于京东商城等的商品分类搜索筛选功能实现.doc_第4页
第4页 / 共9页
类似于京东商城等的商品分类搜索筛选功能实现.doc_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《类似于京东商城等的商品分类搜索筛选功能实现.doc》由会员分享,可在线阅读,更多相关《类似于京东商城等的商品分类搜索筛选功能实现.doc(9页珍藏版)》请在三一文库上搜索。

1、类似于京东商城等的商品分类搜索筛选功能实现前言随着电子商务的迅速发展,各大专业和独立蓬勃而出。如京东,凡客等为众人皆知的。作为一个技术领域的人来说,我们会更多的看到其中的技术差别。今天我们就来说一下搜索结果中的筛选功能实现。这个问题有不少的朋友经常问起他的实现原理,在这里我以我的实现方法来给大家讲解一下。以期起到抛砖引玉的作用,希望能够帮助到大家。效果预览效果1:效果2:提供2张效果图的预览。如果您看不到图片,请前往相应的网址查看。效果1网址:/product/yumaoqiu.htm效果2网址:/product/lunhuahuabang.htm实现原理这个功能的实现,归根到底,是数据库的设

2、计问题。如果你的数据库设计得比较好,那么实现起来是件轻而易举的事情。另一方面,是网址传参上的难度。由于需要对搜索引擎的收录比较友好,通常商城类型的网址,都要进行url重写。本文将着手于这两方面给大家讲解。数据库设计商品分类表搜索属性表搜索属性“值”表一共是3张表。设计上比较简单。简单归简单,但是要注意看清中间的关系。另外要注意表中的冗余字段运用。这可以为你在设计表的时候省去不少麻烦。当然如果数据频繁更新,你要记得同步数据。后台程序实现先看一下我们的界面图这是属性绑定。我们的商品属性很多。如果你们没有属性表,可以自己逐个添加属性名称即可。我们的实现是直接在系统的商品属性中选取的。后面的数字文本框

3、,是指排序。绑定的属性名称后,我们就会得到下图所示的一个商品属性表。当然,刚开始绑定的时候,“属性值”是空的。这里您看到“属性值”这一列中有值,是因为我们已经绑定好了。上面是“属性”表。下面这张图是为这些“属性”添加“属性值”。这些值,将被前台显示。具体的显示效果,您可以看上面网址中的实际效果。效果1网址:/product/yumaoqiu.htm效果2网址:/product/lunhuahuabang.htm很好,相信提供的这些页面步骤,已经能够让您了解到了后台的制作的整个过程,至于数据库的数据添加修改和删除功能,这是每一个程序员最基本的,这里没有什么技术含量,您直接代码实现即可。上面的后台

4、程序实现中,有个关键点,就是里面有一个字段叫“搜索值”。这个搜索值,是用来查数据库的。前台显示成“尤尼克斯/Yonex”,但是我们的数据库中实际存放的值可能并不是它。而是“尤尼克斯”这个值,所以,需要进行区分。前台程序实现由于需要实现Url重写。您在演示网址中,能够看到我们的演示网址,是已经实现了URL路径重写功能的。这里需要注意的点是:“由于你不知道用户会使用哪个筛选条件,所以,你在URL中,必须要保持用户的所有已经选择的筛选条件”。您可以在演示网址中,看到这种网址变化效果。那么这个网址的筛选是如何实现的呢?首选是路径重写的配置。这个配置的实现效果在/product/yumaoqiu-85-

5、81-97.htm中可以全部看到。这个网址,已经选取了相关的选项。譬如演示图中的“品牌”、“重量”、“价格”。我们需要将用户已经选择的这些多个条件在URL网址中保持起来。还是以上面给的演示URL路径来讲解。/product/yumaoqiu-85-81-97.htm经过URL重写后,我们的RequestQuerystringSearchPropertyID会得到这样的一个值:“-85-81-97”,是一串数字。我们需要对它进行解析,并保存下来,这一串数字代表了它们是用户已经选好了筛选条件。解析URL参数的代码如下:intsearchPropertyValueIDArray=null;#regi

6、on解析Url属性参数/解析Url传的属性参数if(!string.IsNullOrEmpty(searchPropertyIDReq)ArrayListtempSearchPropertyValueIDArrayList=newArrayList();stringtempSearchPropertyValueIDArray=searchPropertyIDReq.Split(-);foreach(stringitemintempSearchPropertyValueIDArray)if(string.IsNullOrEmpty(item)continue;tryConvert.ToInt32

7、(item);catchcontinue;tempSearchPropertyValueIDArrayList.Add(Convert.ToInt32(item);searchPropertyValueIDArray=(int)tempSearchPropertyValueIDArrayList.ToArray(typeof(int);#endregion前台显示绑定的时候事件代码如下:protectedvoidSearchPropertyValueRepeater_ItemDataBound(objectsender,RepeaterItemEventArgse)if(e.Item.Item

8、Type=ListItemType.Item|e.Item.ItemType=ListItemType.AlternatingItem)stringcurPropertyName=DataBinder.eval_r(e.Item.DataItem,PropertyName).ToString();stringcurPropertyValue=DataBinder.eval_r(e.Item.DataItem,PropertyValue).ToString();stringcurPropertyValueID=DataBinder.eval_r(e.Item.DataItem,ID).ToStr

9、ing();boolisHasCurrentPropertyName=false;int?urlPropertyValueID=null;if(searchPropertyValueIDArray!=null)foreach(intsearchPropertyValueIDinsearchPropertyValueIDArray)Sports_Category_SearchProperty_Valuesports_Category_SearchProperty_ValueEntity=CategoryCache.SelectCategorySearchPropertyValueByID(sea

10、rchPropertyValueID);intsearchPropertyID=sports_Category_SearchProperty_ValueEntity.SearchPropertyID;Sports_Category_SearchPropertysports_Category_SearchPropertyEntity=CategoryCache.SelectCategorySearchProperty(searchPropertyID);if(sports_Category_SearchPropertyEntity.PropertyName=curPropertyName)url

11、PropertyValueID=searchPropertyValueID;isHasCurrentPropertyName=true;break;stringsearchPropertyIDUrl=;if(searchPropertyValueIDArray!=null)foreach(intsearchPropertyValueIDinsearchPropertyValueIDArray)if(searchPropertyValueID!=urlPropertyValueID)searchPropertyIDUrl+=-+searchPropertyValueID.ToString();/

12、具体属性LiterallitPropertyValue=(Literal)e.Item.FindControl(litPropertyValue);if(isHasCurrentPropertyName)if(urlPropertyValueID!=null&urlPropertyValueID.ToString()=curPropertyValueID)litPropertyValue.Text=+curPropertyValue+;elselitPropertyValue.Text=+curPropertyValue+;elselitPropertyValue.Text=+curPrope

13、rtyValue+;如此,我们就正式完成了这一个筛选的效果设计。也许您会问,我有了“搜索的属性值”,要怎么去查找出商品呢,怎么出价格区间呢?模糊匹配会不会影响性能呢?是的。这是需要注意和解决的问题。在我们的程序里,用的商品分类索引,然后再用模糊匹配,性能很高。价格区间,是按价格来进行Sql中的between筛选的。请回头看我们的这张图:您在图中会看到一关键的地方,叫“属性类型”。您在截图上,只能看到“字符串”这一种,实际中,下拉列表中我们还有一种,叫“货币”。这些类型的不同,决定了,解析方式的不同。您现在应该不会感到困惑了吧?! 大连软件园1号楼及周边改造地块项目大连软件园1号楼及周边改造地块

14、项目3#楼炉渣回填施工技术交底编制人: 马 广 军 审核人: 邹 旭 2014年 11月 26 日2技术交底记录工程名称大连软件园1号楼及周边改造地块项目施工单位大连亿达建设工程有限公司分项工程名称炉渣回填施工交底日期2014.11.26交底提要回填,炉渣交底主要内容:一、 主要材料炉渣:宜采用烟煤炉渣,表观密度应为800kg/m3以内;炉渣内不应含有机杂质和未燃尽的煤块,粒径不应大于40mm,且不可大于垫层厚度的1/2;炉渣粒径在5mm以下者,不得超过炉渣总体积的40%。二、 主要机具(1) 机械:搅拌机、手推车、平板振捣器。(2) 工具:铁锨,扫帚等。 三、 作业条件 (1)结构工程已经验

15、收,控制标高水平线已弹好, (2)与垫层有关的电气管线,设备管线及埋件安装完毕,并固定牢靠。 (3)垫层施工前应经隐蔽工程验收。四、作业条件工艺流程:基层处理 按体积比拌合 铺设拌合好的炉渣 上杠找平控制标高 滚压并找平拍边修整 养护(1)基层处理:正式施工炉渣垫层前,把基层上粘结的杂物认真清除,清除后撒水湿润。(2)拌合:水泥炉渣宜采用1:6(质量比)。搅拌前应先按比例计量加水拌合,干料入机后先干搅1min,再加入适量的水搅拌1.52min,使水泥浆分布均匀。其干湿程度以便于滚压密实,有少量浆不泌水为宜; (3)控制标高:回填至-0.070m标高处,水平线已经在梁上弹好。(5)铺设与滚压:虚

16、铺和压实厚度的比例一般是1.3:1,铺炉渣垫层时,先在铺设基层面上撒水湿润;装铺炉渣熟料,全部铺好后滚压,在滚压中局部撒垫调整平整度,经反复进行滚压平整出浆,厚度符合设计要求;对墙根、边角、管根周围不宜滚压处,应用木拍板拍打平实。本工程厚度较大时宜分层铺压。水泥炉渣垫层的施工应随拌、随铺、随压实,全部操作过程应在2h内完成。五质量标准(1)保证项目:1)炉渣垫层使用的水泥、炉渣材料质量必须符合设计要求及有关标准规定。2)施工配合比,铺压密实度应符合设计和施工验收规范要求。3)炉渣垫层与基层间不得有空鼓和表面松动现象。(2)允许偏差项目:见表1。 炉渣垫层允许偏差 表1项目允许偏差(mm)检验方法表面平整度10用2m靠尺楔形塞尺检查标高 10用水准仪检查厚度个别地方不大于设计厚度1/10尺量检查六成品保护(1)垫层施工操作和运输中不应碰撞门口、管线、垫层内埋设件和已完的装饰面层。审核人:交底人:接受交底人:2

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1