【发布时间】:2015-04-14 18:45:03
【问题描述】:
正在为想要在线销售杂货的客户创建一个电子商务项目
并且我有一个价格列,其中将包含相应数量的产品的逗号分隔价格。问题是如何按'价格从高到低'或'价格从低到高'功能进行排序。
这是示例表
**id** **Price** **Quantity** Name
1 20,30,50 250mlgm,500ml,1lt Coca-Cola
2 40,60,70 250mlgm,500ml,1lt Pepsi
现在的问题是,如果我想将价格列从低到高或从高到低排序,查询会是什么样子
ORDER BY Price DESC 或 ORDER BY Price ASC 在我的情况下不起作用
请指导我
我通过分解逗号并将它们保存在这样的数组中来填充选择标签中每个产品的价格和数量
<select ><option style='font-size:1vw;' value="Select Unit" >Select Unit</option>
<?php
$drq=$rows['Quantity'];
$drp=$rows['Price'];
$degh=explode(',',$drp);
$tryGH=explode(',',$drq);
for($ij=0;$ij<count($tryGH);$ij++){
echo "<option style='font-size:1vw;' value=$degh[$ij] >$tryGH[$ij] - $degh[$ij]</option>";
}
?> </select>
结果是这样的
【问题讨论】:
-
你不能因为值是字符串,而不是整数。您可以稍后在 PHP 中执行此操作。为什么不将价格和数量存储为单独的配对(例如,上面有 9 行)?
-
不会发生,你需要为价格和数量制作多对多表,id 为 FK
-
嗯.. 单个产品的不同数量的不同行将导致一个冗长的表格.. 我认为我必须删除可变数量的可变价格商品的排序功能
-
你为什么要关心这张桌子有多大?
-
实际上是通过分隔逗号在选择标签中填充数量和价格,以便最终用户一次可以看到产品的数量和相应的价格。我以为那会很方便。是否有任何简单的解决方案来执行相同的操作?