Tengo una función en PHP que genera una tabla HTML
, con 4 campos, UNO DE ELLOS ES EL MONTO, el cual quiero que una pagina a carta vaya dando los SUB-TOTALES hasta llegar la última fila y alli de el GRAN TOTAL (suma de todos los subtotales).
La funcion es la siguiente:
Código PHP:
private function generarTablaHTML($fecha_inicial,$fecha_final){
//aqui codigo donde recive los parametros para la busquedas segun un rango de fecha (incial, final)...........
$tablaHTML = '<table style="text-align: center; width: 460px; " border="1" cellspacing="0" cellpadding="0">
<tr>
<td style=" text-align: center; width:50;">Nº</td>
<td style=" text-align: center;">Fecha Deposito</td>
<td style=" text-align: center;">Vaucher / Monto</td>
<td style=" text-align: center; width:220;">Banco</td>
</tr>';
$numLinea=1;
$totdep=0;
$totdep2=0;
foreach($enter_fechas as $datofecha ){
if($totdep==0) {
$fecha=$datofecha['Fechadeposito']['fecha'];
}
$fecha_espa=date("d-m-Y",strtotime($datofecha['Fechadeposito']['fecha']));
$depo=$datofecha['Bauche'];
$monto=number_format($depo['monto'],2,',', '.');
$tablaHTML .= '<tr>
<td style=" text-align: center; width:50;">' . $numLinea. '</td>
<td style=" text-align: center;">' . $fecha_espa. '</td>
<td><table border="1"><tr><td style=" text-align: center;">' . $depo['num_bauche'] .'</td><td style=" text-align: right;">'.$monto.'</td></tr></table></td>';
$totdep = $totdep + $depo['monto'];
$totdep2 = $totdep2 + $depo['monto'];
$tablaHTML .= '<td style=" text-align: center; width:220;">'.$datofecha['Banco']['agencia'].'</td></tr>';
$numLinea++;
if($fecha != $datofecha['Fechadeposito']['fecha']) {
$fecha=$datofecha['Fechadeposito']['fecha'];
$tablaHTML .= '<tr><td ></td><td></td><td></td><td style="width:155;"><b>SUBTOTAL='.number_format($totdep,2,',', '.').' Bs.</b></td></tr>';
$totdep=0;
}//if($fecha != $datofecha['Fechadeposito']['fecha'])
}//fin del primer foreach foreach($datosFecha as $datofecha )
if($totdep<0) {
$tablaHTML .= '<tr><td></td><td></td><td></td><td><b>SUBTOTAL='.number_format($totdep,2,',', '.').' Bs.<b></td></tr>';
}
if($totdep2>0) {
$tablaHTML .='<tr><td></td><td></td><td></td><td style="width:155;"><b>TOTAL='.number_format($totdep2,2,',', '.').' Bs.</b></td></tr>';
}
$tablaHTML .= '</table>';
$TOTAL=$totdep2;
$totalLetras=$this->num2letras(number_format($totdep2,2,'.',''));
return array($tablaHTML,$TOTAL,$totalLetras,$fecha_final,$bancoid);
}
}//fin function generarTablaHTML($fecha_inicial,$fecha_final)