我有这样的数组:
// array of moderator code
Array
(
[0] => M1
[1] => M2
[2] => M3
[3] => M1
)
// array of commission amount and status based on the above array
Array
(
[10] => Paid
[20] => Due
[30] => Cancelled
[40] => Paid
)
如果任何一位主持人登录,他应该只看到自己的委员会详细信息,而不是其他人的详细信息。例如,如果M1登录,他应该在他的我的账户中看到这样的信息:
OrderCode PaidAmount CancelledAmount DueAmount Action
1 50.00 (40 + 10) 0.00 0.00 View
其他主持人也是如此。
我该如何做到这一点?
p.S.:上面的数组只是我为了构建应用程序而试图理解的一个例子。事实上,订单将包含任意x个版主及其相应的佣金金额和状态,并将从数据库中检索。
表调节器id名称Table佣金主持人id委员会_amt委员会状态id
表委托_状态status_id名称
当您检索主持人的佣金时
select * from Moderators m join Commision c on m.id = c.moderator_id join Commission_status s on c.commistion_status_id = s.status_id where moderator_id = 1(moderator id)
这将给出与主持人id相关的所有佣金金额如果有任何困惑,请自由评论
第二部分一个staus的所有金额的总和具有特定状态的所有金额的总和,如已付款和登录的主持人id
select sum(commision_amt ) from Moderators m join Commision c on m.id = c.moderator_id join Commission_status s on c.commistion_status_id = s.status_id where moderator_id = 1(moderator id) and status_id =(status_id)
我想你想要的是。。
<?php
// Create an Array to hold our Total values.
$commissionTotals = array();
// loop through each result
// YOU, COULD USE A SWITCH STATEMENT
foreach($commissionArray as $value=>$status)
{
switch($status)
{
case "paid" :
$commissionTotals['paid'] = $commissionTotals['paid']+$value;
break;
case "Due" :
$commissionTotals['due'] = $commissionTotals['due']+$value;
break;
case "Cancelled" :
$commissionTotals['cancelled'] = $commissionTotals['cancelled']+$value;
break;
}
}
// OR.. JUST DO A DIRECT LOOKUP
foreach($commissionArray as $value=>$status)
{
if($status=="paid")
{
$commissionTotals['paid'] = $commissionTotals['paid']+$value;
}
if($status=="Due")
{
$commissionTotals['due'] = $commissionTotals['due']+$value;
}
if($status=="Cancelled")
{
$commissionTotals['cancelled'] = $commissionTotals['cancelled']+$value;
}
}
?>
<table>
<thead>
<th>
<td>OrderCode</td>
<td>PaidAmount</td>
<td>CancelledAmount</td>
<td>DueAmount</td>
<td>Action</td>
</th>
</thead>
<tbody>
<tr>
<td><?php echo $orderCode;?></td>
<td><?php if(isset($commissionTotals['paid'])) { echo $commissionTotals['paid'];}else{echo 0;}?></td>
<td><?php if(isset($commissionTotals['due'])) { echo $commissionTotals['due'];}else{echo 0;}?></td>
<td><?php if(isset($commissionTotals['cancelled'])) { echo $commissionTotals['cancelled'];}else{echo 0;}?></td>
</tr>
</tbody>
</table>