我正在尝试计算用户的收入,以便它反映在用户主页上,以便他们知道他们的推荐人赚取了多少。
这是我的代码。
$get_ref_stats = $db->query("SELECT * FROM `members` WHERE `referral` = '".$user_info['username']."'");
$total_cash = 0;
while($ref_stats = $get_ref_stats->fetch_assoc()){
$get_ref_cash = $db->query("SELECT * FROM `completed` WHERE `user` = '".$ref_stats['username']."' UNION SELECT * FROM `completed_repeat` WHERE `user` = '".$ref_stats['username']."'");
$countr_cash = $get_ref_cash->fetch_assoc();
$total_cash += $countr_cash['cash'];
$countr_c_rate = $setting_info['ref_rate'] * 0.01;
$total_cash = $total_cash * $countr_c_rate;
}
我刚吃的时候效果很好
$get_ref_cash = $db->query("SELECT * FROM `completed` WHERE `user` = '".$ref_stats['username']."'");
但是一旦我添加它,UNION
它就不再正确计算了。例如,有 1个条目,这两个条目中的completed
1个条目的条目为 0.75。for 的变量是 0.10,所以应该等于 0.15,但它显示为 0.075,有和没有,它的行为就好像它没有从另一个表中计数一样。completed_repeat
cash
$countr_c_rate
$total_cash
UNION
我希望这是有道理的,因为我不确定如何解释这个问题,但我很不确定我在这里做错了什么。