Php 带有变量和内爆的数学
Php math with variable and implode
好的。所以我作为学校项目制作的网站几乎完成了。但是我在最后一点遇到了一些问题。
在网站上,一个人可以 select 一些商品以多 select 形式出现在第一页。
然后将这些商品的 ID 发送到我正在处理的页面。这里商品的价格是从 ID 所在的数据库中 select 编辑的。 (价格是第"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。然后它进入数据库并找到商品,其中 ID = 来自 POST。这两种商品数据库中的价格是 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);
好的。所以我作为学校项目制作的网站几乎完成了。但是我在最后一点遇到了一些问题。
在网站上,一个人可以 select 一些商品以多 select 形式出现在第一页。
然后将这些商品的 ID 发送到我正在处理的页面。这里商品的价格是从 ID 所在的数据库中 select 编辑的。 (价格是第"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。然后它进入数据库并找到商品,其中 ID = 来自 POST。这两种商品数据库中的价格是 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);