0
我已经编写了下面计算加权平均值的代码。该算法是正确的,但我的问题是,当值$ row ['grade']是例如:9.5它被截断为9,当值为10它被截断为1。从一些测试中,我相信问题发生在将值插入到数组中时。我已经尝试了解我所知道的一切,但是我无法让它工作。有任何想法吗?以下代码如下:在mysql查询后PHP值被截断
<?php
require 'database_connect.php';
$username=$_SESSION["username"];
$sql="SELECT dm,grade from subject,attends where username='$username' AND grade>='5' and subject_code=code";
$result = mysqli_query($conn,$sql);
$i=-1;
while($row = mysqli_fetch_array($result)){
$i=$i+1;
$grade[$i]=$row['grade'];
if($row['dm']<=2){
$weight[$i]=1.0;
}elseif($row['dm']<=4){
$weight[$i]=1.5;
}else{
$weight[$i]=2.0;
}
}
if($i>=0){
$total=array_sum($weight);
$part=0;
for($j=0;$j<=$i;$j++){
echo $grade[$j].",";
echo $weight[$j]."|||";
$part=$part+$grade[$j]*$weight[$j];
}
$full=$part/$total;
// echo round($full, 2);
}else{
echo "0";
}
$conn->close();
?>
发布您的数据库架构 –
'和subject_code = code'是否应该代表伪代码?如果不是的话,这里正在冒险。 –
**旁注:**因为您刚开始使用数据库查询进行编码。请尽早了解[准备的陈述](http://php.net/manual/en/mysqli.prepare.php)的重要性/使用。 –