您好我的数据库中有一张产品折扣表,如下所示:
id product quantity NewPrice
目前在我的php网站上:
每行:
购买$ quanity或更多时的单位价格:$ NewPrice
但我想要的是:
购买$ quanity1- $ quanity2时的单位价格:$ NewPrice1
购买$ quanity2- $ quanity3:$ NewPrice2时的单位价格
购买$ quanity3或更多时的单位价格:$ NewPrice3
所以基本上我想从两个不同的行中取出quanity-value来构成第一行价格的文本。
如果这有意义吗?
答案 0 :(得分:1)
按产品,数量订购结果,然后循环结果并与上一行进行比较:
$lastRow = null;
$sql = "SELECT * FROM prices ORDER BY product, quantity";
$result = mysql_query($sql);
while ($row = mysql_fetch_array($result)) {
if ($lastRow and $lastRow['product'] == $row['product']) {
echo "Price per unit when buying ".$lastRow['quantity']." - ".($row['quantity']-1).": ".$lastRow['price']."\n<br>";
} elseif ($lastRow) {
echo "Price per unit when buying ".$lastRow['quantity']." or more: ".$lastRow['price']."\n<br>";
}
$lastRow = $row;
}
if ($lastRow) {
echo "Price per unit when buying ".$lastRow['quantity']." or more: ".$lastRow['price']."\n<br>";
}
答案 1 :(得分:0)
只需[discounts table]
[product column]
的所有数据,按[quantity column]
排序{/ 1}}
然后提取[quantity column]
值并使用数组
$quantities = array(quantity0,quantity1,quantity2);
// $quantities[0] ... $quantities[n]
quantity column name
]; } 你将得到数量数组,从最小到最大分类 确切的程序取决于你的数据库层,php框架等等。