【发布时间】:2014-01-06 14:39:33
【问题描述】:
在我的网上商店,订单系统分为几种形式(每个产品系列一种)。每个系列大约有 100 种不同尺寸的产品(总共约 500 个),所以几年后将是 10 个系列 x 500 种产品。
这是一个批发门户,因此客户通常会订购很多产品,而且数量通常很大。另一方面,可能永远不会出现超过 20 位客户同时下单的情况。
我想计算并显示客户订购的产品数量和总现金金额。以下是我将订单数据保存在 $_SESSION 数组中的方法:
$_SESSION['input'][34]['s']===20 // This means the customer ordered 20x product with id 34 in size S.
$_SESSION['prices'][34]===39.99 // This is the price of product with id 34.
每次客户更改集合时都会更新 $_SESSION 数组(=使用新表单访问网站)。
我的问题是显示总订单现金金额的最佳方式是什么:
- 依赖来自 $_SESSION 数组的数据。每次用户更改输入字段的值(jQuery 中的 keyUp 事件)时,计算起始总和与当前总和之间的总差值
- 使用每个 keyUp 触发 ajax 请求,计算所有内容,更新 $_SESSION,然后计算并显示总现金金额。
- 简单的非实时解决方案:一个“更新”按钮,只提交表单,新请求只更新页面。
以下是我的想法:数字 1. 和 2. 看起来非常好,但很难做到(对我来说),而且它们可能对服务器造成太大的负担。数字 3. 对用户来说不太方便,但它很容易做到并且使用最少的服务器资源
有什么建议吗?
谢谢!
【问题讨论】:
-
您也可以使用 onBlur(与 onFocus 相反)来代替 keyUp。
标签: javascript php jquery ajax real-time