由淘宝,京东,凡客站点的多条件分页查询细节想到的

简介:

首先,我详细描述下文章标题里面多条件分页查询的细节具体指什么?

多条件分页查询是我们常用的功能,今天留意到这样一个细节:

一般情况下,我们会将提供给用户选择的所有条件列在页面上,然后去判断用户选择了哪些条件,进而在后台动态组织sql去查询数据库。

而在绝大多数情况下,我们又会做服务端分页。

页面的布局大致分为三个部分(我自己的理解):条件区域,查询结果区域,页码区域。

第一种情况:用户选择选择几个条件,点击查询按钮,Ok显示用户想要的结果。

接下来,用户点击页面区域的某一页,OK显示对应了内容。

这里我想说的是,用户每点击一次页面区域,都会将条件区域用户选择的条件传给服务端进行分页查询。

接下来,用户将条件进行了更改,但是并没有点击查询按钮,而是去页码区域点击其中的某一页。这个时候提交给服务端查询的sql里面条件是被更改过的。

查询的结果也随之变化,但是这种变化并不是用户期望的。

这就是我想要说的细节,接下来我会用图解的方式展现在京东,凡客,淘宝三个站点进行上面操作的结果。

我这么理解:站在用户的角度,,就算我对条件做了更改,只要我没有去点击查询按钮,那么就表示查询条件不会生效。

实际情况是:当用户选择页码区域的某一页时,显示的结果是以更改后的条件查询出来的到这里,我想大家应该知道我在讲什么了吧!

接下来我们看看京东,凡客,淘宝他们是怎么做的?

首先是京东:

我打开京东--笔记本页面,进入高级搜索,也就是多条件查询。选择“惠普”

 

之后点击提交---结果如下图,没有任何问题

下面我增加一个品牌:“华硕”

我这个时候点击提交按钮,直接去页面区域选择一页,如下图:

直接点击第三页,显示的结果如下:

在我没有点击提交按钮的情况下,虽然更改了条件,翻页时我扔希望(我想也是很多用户的期望)显示前一个条件的查询结果。

凡客的主站上面几乎就没有什么高级搜索,所以就不用截图。用过京东跟凡客的朋友应该有这样一个体验,每次选择一个条件,就会刷新

我自己觉得,这是不太好的方式,为什么不等用户选择完所有的条件后通过提交按钮来执行查询呢?再来看看淘宝是如何处理的?

去淘宝搜索羽绒服,我选择如下图所示的两个条件。

 

然后确定,同样的,我更改搜索条件,但是不点击确定按钮。直接去页码区域选择任何页码单击。

直接单击第4页,页面会提交,这个时候淘宝巧妙的地方就出来了,发现原来条件区域里被更改过的条件(没点确定按钮)被恢复到了上一次(如下图)

呵呵,还是淘宝周到啊!

今天我们在园子的新闻可以看到双十一,淘宝创造的一个个记录,我们在感叹淘宝拥有的牛b的技术或架构的同时,是不是也对淘宝在细节上的把握表示一下钦佩呢?

可能我们一想到淘宝就会觉得,它的架构好,技术好,所以理所当然可以支撑海量的pv。对于电子商务网站来说,特别是访问量大的网站,拥有一个好的架构肯定是必然的,

但是我们是不是也应该在一些细节上面做好,尽可能减少对服务器的压力呢?打个比方:假如凡客每天的pv量是3kw,那么在多条件查询这块,

如果一个用户本来是选择两个条件,然后单击查询按钮,但是现在的情况是,本来只需一次查询,现在增加了一倍。也许有人觉得这个没什么,

但是如果是对于千万级别甚至是几亿,十几亿级别的pv数,对于服务器而言额外的压力就是非常巨大的,有一句话这么说:细节决定成败!

对于我们.NET开发人员来说,本来服务器的成本(Windows)就相对比较高昂,上次看到有资料显示MySpace的服务器有4500台,那得花多少$啊)

如果不能在细节上多注意,在架构上多下功夫,开发出来的网站也就只能......

以上是我今天从自己偶然发现的这么一个小的点所想到的,可能有很多不对的或是跟您想法相左的地方,请多多包含和指正。

我只是个菜鸟,甚至还没到"鸟"的级别,就一新手,还有很多东西需要向大家学习。

时间不早了,祝大家做个好梦!

本文转自Rt-张雪飞博客园博客,原文链接http://www.cnblogs.com/mszhangxuefei/archive/2011/11/13/interests_2.html如需转载请自行联系原作者


张雪飞

相关文章
|
6月前
|
监控 前端开发 JavaScript
实战篇:商品API接口在跨平台销售中的有效运用与案例解析
随着电子商务的蓬勃发展,企业为了扩大市场覆盖面,经常需要在多个在线平台上展示和销售产品。然而,手工管理多个平台的库存、价格、商品描述等信息既耗时又容易出错。商品API接口在这一背景下显得尤为重要,它能够帮助企业在不同的销售平台之间实现商品信息的高效同步和管理。本文将通过具体的淘宝API接口使用案例,展示如何在跨平台销售中有效利用商品API接口,以及如何通过代码实现数据的统一管理。
|
6月前
|
测试技术 开发工具 UED
什么是农场游戏系统开发规则玩法/详细需求/案例详情/源码项目
明确定义游戏概念和目标**: - 确定农场游戏系统的主题和核心玩法,明确目标用户群体,并设定明确的游戏目标和规则。
|
6月前
|
Python
区域代理分红商城系统开发源码片段示例规则解析
level = Column(Integer, default=1) # 代理等级,例如:1代表普通用户,2代表初级代理,3代表高级代理等 parent_id = Column(Integer, ForeignKey('user.id')) # 上级代理ID 【更全面的开发源码搭建可V or TG我昵称】 parent = relationship("User", remote_side=[id]) # 上级代理对象
|
6月前
|
搜索推荐 安全 API
API接口的艺术:如何巧妙获取商品数据
在数字时代,API接口已经成为连接不同软件系统、共享数据的桥梁。尤其在电商领域,商品数据的实时获取和处理对于提供个性化服务、优化用户体验至关重要。本文将深入探讨API接口的艺术,以及如何通过它们高效地获取和管理商品数据。
|
SQL 小程序 JavaScript
【易售小程序项目】小程序首页(展示商品、商品搜索、商品分类搜索)【后端基于若依管理系统开发】
【易售小程序项目】小程序首页(展示商品、商品搜索、商品分类搜索)【后端基于若依管理系统开发】
57 0
dapp预约抢单排单互助系统开发逻辑详细/功能说明/案例分析/方案规则/源码出售
Allow users to register accounts and verify their identities to ensure that the identities of participants are valid and authentic.
|
4月前
|
JSON API 数据处理
深度解析京东商品列表数据接口:功能、参数与实战技巧
京东商品列表数据接口让开发者通过HTTP请求获取京东商品详尽列表信息,包括ID、名称、价格等。接口支持参数化搜索(关键词、价格区间等),返回JSON格式数据,便于处理与分析。开发者需注册账号并创建应用以获取访问权限。应用场景涵盖市场调研、商品管理和营销策略制定等,有效提升数据驱动决策能力。
|
4月前
|
前端开发 开发工具 数据库
支付系统资料-青戈版沙箱支付,订单编号样式设计,还有七天无理由退款,常与会员系统相搭配,内网穿透客户看到页面,前端展示,直播过程所有都能访问的写法
支付系统资料-青戈版沙箱支付,订单编号样式设计,还有七天无理由退款,常与会员系统相搭配,内网穿透客户看到页面,前端展示,直播过程所有都能访问的写法
支付系统资料-青戈版沙箱支付,订单编号样式设计,还有七天无理由退款,常与会员系统相搭配,内网穿透客户看到页面,前端展示,直播过程所有都能访问的写法
|
6月前
|
安全
哈希竞猜游戏系统开发玩法详情/功能步骤/需求设计/流程方案/源码程序
Developing a hash guessing game system can provide a fun gaming experience. The following are possible gameplay and rules for your reference:
|
存储 前端开发 安全
什么是盲盒游戏系统开发规则丨指南教程丨功能逻辑丨需求项目丨源码方案
确定盲盒游戏的目标受众、玩法要素和游戏规则。 - 确定游戏系统的核心功能,如盲盒的获取、开启、物品收集、交易等。 - 确定技术平台和开发语言,如移动端应用的开发是选择原生开发(如iOS的Swift或Android的Java/Kotlin)还是跨平台开发(如React Native或Flutter)。
下一篇
无影云桌面