好的。 因此,IM作为学校项目制作的网站几乎完成了。但是我对最后一点有一些问题。
在网站上,人们可以在第一页上以多选形式选择一些商品。
然后将这些商品的ID发送到我正在处理的页面。这里,商品的价格是从id的机器数据库中选择的(价格是"kunde_pris"行)
现在他们应该在那里添加或减去值。但我似乎无法让它以正确的方式工作。
到目前为止,我得到的代码是这样的
$test = $_POST['tilbehor'];
$test=implode(',',$test);
$query = "SELECT * FROM tilbehor WHERE t_id IN ($test)";
$result = $db->query($query);
$num_rows = $result->num_rows;
if($num_rows > 0) {
while($row = mysqli_fetch_array($result)) {
$number = 10 + 20 + $row['kunde_pris'];
echo "$number ";
}
} else {
echo "error";
}
我从中得到的结果是"1710 2430"。因此,它采用从 $_POST['tilbehor'] 获得的值,现在的 id 为 2 和 19。然后,它进入数据库并找到来自 POST 的 ID = ID 的商品。 这两种商品的数据库中的价格是 1680 和 2400。因此,当我尝试使用数学时,我得到 10+20+1680=1720 和 10+20+2400=2430,而我想要的是 10+20+1680+2400=4110
关于如何解决这个问题的任何想法?
您需要添加到之前的 $number
值中,而不是每次通过循环替换该值。
$number = 10 + 20;
while ($row = mysqli_fetch_array($result)) {
$number += $row['kunde_pris'];
}
echo $number;
当然,您也可以只计算查询中的总数:
SELECT 10+20+SUM(kunde_pris) AS total
FROM tilbehor
WHERE t_id IN ($test);