我有一个问题:
我有以下代码:
foreach($_COOKIE as $key => $value) {
$sql = "SELECT * FROM producten WHERE id='$key'";
$result = mysqli_query($conn, $sql);
while($row = $result->fetch_assoc()) {
$prijs = $row['prijs'];
echo $prijs;
}
}
我想要做的是计算所有$prijs
变量(int
)。
我尝试使用count($prijs)
但没有用。
答案 0 :(得分:1)
要获得时间循环次数的计数,您可以使用计数器变量并获得总结,您可以使用+=
对循环中的值求和。
如果您只想总结数值,也可以使用is_numeric()
。
$i=0;
$sum=0;
while($row = $result->fetch_assoc()) {
$prijs = $row['prijs'];
$sum += $prijs;
$i++;
}
echo $i; //will give you count
echo $sum; //will give you sum
答案 1 :(得分:0)
我认为你的措辞混淆了,你的意思是总结$prijs
的值,在这种情况下,使用一个新的变量并加上它:
$sum = 0;
foreach($_COOKIE as $key => $value) {
$sql = "SELECT * FROM producten WHERE id='$key'";
$result = mysqli_query($conn, $sql);
while($row = $result->fetch_assoc()) {
$prijs = $row['prijs'];
echo $prijs;
$sum += $prijs;
}}
答案 2 :(得分:0)
尝试
$i=0;
foreach($_COOKIE as $key => $value) {
$sql = "SELECT * FROM producten WHERE id='$key'";
$result = mysqli_query($conn, $sql);
while($row = $result->fetch_assoc()) {
$prijs = $row['prijs'];
echo $prijs;
$i++;
echo $i;
}
}
答案 3 :(得分:0)
根据您的代码,$prijs
只返回单个值,因此当您尝试count
时,它只会提供1
。但是如果你想设置所有的值并存储为数组,请尝试$prijs[] = $row['prijs']
答案 4 :(得分:0)
您可以按如下方式简化代码:
$values = array_map('mysqli_real_escape_string', array_keys($_COOKIE));
$sql = "SELECT * FROM producten WHERE id in ('".implode("','",$values."')";
$result = mysqli_query($conn, $sql);
while($row = $result->fetch_assoc()) {
$prijs = $row['prijs'];
echo $prijs;
}
echo "Total rows: ".$result->num_rows;