0
我如何计算每个用户在mysql中的百分比?php mysql计算每个百分比
$q = $db->query("SELECT * FROM report LEFT JOIN user ON user.user_id= report.id_user WHERE date='$today' GROUP BY id_user");
$q1 = $db->query("SELECT SUM(r_amount) AS total FROM report WHERE date='$today' AND id_user=id_user");
$r1 = $q1->fetch_assoc();
$totalCharge = $r1['totalCharge'];
$sixtyPercent = $totalCharge * 0.60;
$fortyPercent = $totalCharge * 0.40;
while($r = $q->fetch_array(MYSQLI_ASSOC)) :
echo '<tr>';
echo '<td>'.$r['user_name].'</td>';
echo '<td align="center">'.$fortyPercent.'</td>';
echo '<td align="center">'.$sixtyPercent.'</td>';
echo '<td align="center"><strong></strong></td>';
echo '</tr>';
endwhile;
current result:
name 60% cut 40% cut total
user 1 60 40 100
user 2 60 40 100
user 3 60 40 100
expecting result:
name 60% cut 40% cut total
user 1 60 40 100
user 2 24 16 40
user 3 48 32 80
将值重复放在列中的原因是您要设置$ totalCharge = $ r1 ['totalCharge']并计算出$ 60tyPercent&$ 40yPercent。从那时起,这两个变量是不变的,这会给出你当前结果的行为。 – phaxian 2011-03-31 15:26:48
你为什么一直在计算? – jimy 2011-03-31 15:30:35
@Phaxian:继续,并作为实际回复发布,我很确定这是正确的答案。这些变量应该设置在* while循环中,以便它们改变每个用户。 – 2011-03-31 15:31:11