显示一个总移位量的行

时间:2015-09-12 07:59:46

标签: php codeigniter

我向工作人员提供网站。他们白天和黑夜都很聪明。 为了制作月度发票,我按照Shift智能显示员工 像

 Day Shift
 Emp Name      Days     Amount
   A            30       1200
   B            25       1000
 Night Shift
   C            27       1100
   D            26       1050

我想显示一个总金额转移明智的行 我有这个代码

 <?php 
 $temp='';
 foreach ( $rows as $row) 

{

///显示Shift行///////

    if($temp!=$row->shift_type) 
    {
     ?>
   <tr><td style="font-weight:bold"><?php echo $row->shift_type;?> Shift</td></tr>  
   <tr style=" border-top:3px solid #CCC">

   <th style="text-align:center">Staff Name</th>

   <th style="text-align:center"> Days</th>
   <th style="text-align:center"> Amount</th>
   </tr>
   <?php $temp = $row->shift_type;
    }
?>

////用Salry展示职员////              如first_name $行向&GT; LAST_NAME; ?&GT;

   <td align="center"><?php  echo $row->week_days; ?></td>
   <td align="center">$<?php echo $weekdaysamount= $row->week_days*$row->week_day_rate; 
   $totalweekdaysamount+=$weekdaysamount;?>
  </td>

  </tr>
  <?php  }   ?>

这使得所有行的总数。我想要一个总共有Shift的行。 应该是这样的

 Day Shift
    Emp Name      Days     Amount
     A            30       1200
     B            25       1000
    Total                  2200   
 Night Shift
     C            27       1100
     D            26       1050
    Total                  2150

2 个答案:

答案 0 :(得分:1)

<html>
<table style="width:100%">
<?php 
require("stackoverflow_connect.php");
$extract=mysql_query("SELECT * FROM `employees` WHERE shift_type='Day'");
  echo 'Day Shift';
      echo '
      <tr>
      <td>Emp Name</td>
      <td>Days</td>
      <td>Amount</td>
      </tr>
      ';
$total=0;
while($row=mysql_fetch_assoc($extract))
{
  $total=$total+($row['week_day_rate']*$row['week_day']);
    echo '
    <tr>
    <td>'.$row['name'].'</td>
    <td>'.$row['week_day'].'</td>
    <td>'.$row['week_day_rate']*$row['week_day'].'</td>  
    </tr>';
}
echo '<tr>
      <td></td>
      <td>Day Total</td>
      <td>'.$total.'</td>
      </tr>';
$extract_n=mysql_query("SELECT * FROM `employees` WHERE shift_type='Night'");

$total=0;
while($row_n=mysql_fetch_assoc($extract_n))
{
  $total=$total+($row['week_day_rate']*$row['week_day']);
    echo '
    <tr>
    <td>'.$row['name'].'</td>
    <td>'.$row['week_day'].'</td>
    <td>'.$row['week_day_rate']*$row['week_day'].'</td>  
    </tr>';
}
echo '<tr>
      <td></td>
      <td>Night Total</td>
      <td>'.$total.'</td>
      </tr>';
?>
</table>
<html>

答案 1 :(得分:0)

你想要显示总移位方式,首先在获取数据时按shift_type对结果进行排序。然后在计算时检查shift_type,如果它与前一条记录不同,则将值重置为零。如下所示应该工作< / p>

 $previous_shilft='';//Initally outside the foreach


    if($previous_shilft!=$row->shift_type && !empty($previous_shilft)){
echo '<tr>
      <td>Total</td>
      <td></td> 
      <td>'.$totalweekdaysamount.'</td>
     </tr>';//Display the row
          }
 if($previous_shilft!=$row->shift_type){
    $totalweekdaysamount=0;
    }
    $totalweekdaysamount+=$weekdaysamount;
    $previous_shilft=$row->shift_type;//For next loop check change the value