首先从值为空的列中选择值。 请注意,该值为float。
$sql = "SELECT cf_user, cf_pakar FROM chevy.gejala1 WHERE cf_user != 'null' and cf_pakar != 'null'";
$result = $conn->query($sql);
之后,我把它放在数组变量中,然后用它做数学运算。
if ($result->num_rows > 0 ) {
// output data from each row
while($row = $result->fetch_assoc()) {
$cf_user =$row["cf_user"] ;
$cf_pakar = $row["cf_pakar"];
$gejala = array ($cf_pakar*$cf_user);
}
} else {
echo "0 results";
}
示例:
我有$cf_user
(0.2,0.4和0.6)和$cf_pakar
(1,1和1)的3个值,
然后,$gejala
将显示3个结果。
$cf_user*$cf_pakar
回音时, foreach
= 0.2,0.4和0.6。
我在$gejala
中的内容是:(0.20.40.6)作为结果数组。
$gejala
的计数为1,值为float。
如何分离结果?因为我对每个结果字母都有另一个数学运算。
答案 0 :(得分:1)
使用行
$gejala = array($cf_pakar * $cf_user);
,您只需创建一个新数组,从而在每次迭代时将$gejala
覆盖到循环中。这可能无法提供所需的效果。请考虑使用此选项:
<?php
// CREATE AND INITIALIZE A NEW ARRAY TO AN EMPTY VALUE.
$gejala = array();
if ($result->num_rows > 0 ) {
while($row = $result->fetch_assoc()) {
$cf_user = $row["cf_user"] ;
$cf_pakar = $row["cf_pakar"];
// NOW PUSH THE RESULT OF YOUR MATH OPERATION,
// TO THE ARRAY WITH EACH ITERATION:
$gejala[] = round( (cf_pakar*$cf_user), 1);
}
} else {
echo "0 results";
}
var_dump($gejala);
或者简单地说:
<?php
// CREATE AND INITIALIZE A NEW ARRAY TO AN EMPTY VALUE.
$gejala = array();
if ($result->num_rows > 0 ) {
while($row = $result->fetch_assoc()) {
// NOW PUSH THE RESULT OF YOUR MATH OPERATION,
// TO THE ARRAY WITH EACH ITERATION:
$gejala[] = round( ($row["cf_user"]*$row["cf_pakar"]), 1);
}
} else {
echo "0 results";
}
var_dump($gejala);
答案 1 :(得分:0)
您目前的方式会在每次迭代时覆盖$gejala
。使用[]
运算符将乘法结果附加到数组中。
while($row = $result->fetch_assoc()) {
$cf_user =$row["cf_user"] ;
$cf_pakar = $row["cf_pakar"];
$gejala[] = $cf_pakar * $cf_user;
}