function DrawTable2( $TOdata ){ $arWokrTypes = GetWorkTypes(); $tableData = array(); $row = array(); foreach( $TOdata["TO"] as $TOName => $TOData ){ if( empty ( $row )){ $row[] = ""; } $row[] = $TOData["NAME"] ; } array_push( $tableData, $row); $row_f[] = GetMEssage("TITLE_TOTAL_TO_COST"); foreach ( $arWokrTypes as $id => $arWDatas ){ $row = array(); foreach( $TOdata["TO"] as $TOName => $TOData ){ if( empty ( $row ) ){ $row[] = $arWDatas; } $row[] = $TOData["TYPE_COST"][$id]["COST"]; } array_push( $tableData, $row); } foreach( $TOdata["TO"] as $TOName => $TOData ){ $row_f[] = $TOData["COST"]; } array_push( $tableData, $row_f); $result .= '<table class="result-table">'; for( $i=0;$i< count( $tableData );$i++){ $result.="<tr>"; for( $j=0; $j< count( $tableData[$i] );$j++){ $result .= "<td>". ((is_float( $tableData[$i][$j])) ? sprintf("%1.2f", $tableData[$i][$j]) : $tableData[$i][$j]) ."</td>"; } $result.="<tr>"; } $result .= '</table>'; return $result; /**/ }
function DrawTable( $arTO ){ $arWokrTypes = GetWorkTypes(); $rows = array(); $Titles = array(); $Titles[] = GetMessage ('GET_TITLE_TYPE_TO'); foreach ( $arWokrTypes as $id => $arWDatas ){ $Titles[] = $arWDatas ; } $Titles[] = GetMessage('GET_TITLE_PRICE_FOR_TYPE_TO'); $Titles[] = GetMessage('GET_COUNT_WORKS_TYPE_TO'); $Titles[] = GetMessage('GET_TITLE_PRICE_FOR_ALL_TYPE_TO'); $tmp1 = array(); foreach ( $arTO as $i => $arWorks ){ $arWorkByType = array(); $tmp = array(); foreach( $arWorks['work'] as $id => &$arWData ){ //echo "<pre>"; print_r( $arWData ); echo "</pre>"; // if( $arWData['PROPERTY_SERVICE_IBLOCK_SECTION_ID'] == "16"){ // // $tmp [ 167 ] = ( float ) $tmp [ $arWData[ 167 ] ] + floatval ( $arWData['PROPERTY_PRICE_VALUE'] ) * floatval ( $arWData['PROPERTY_COUNT_VALUE'] ); // $tmp [ 167 ] = ( float ) $tmp [ $arWData[ 167 ] ] + floatval( preg_replace('/,/',".", $arWData['WORK_COST'] )); // }else{ // $tmp [ $arWData['PROPERTY_SERVICE_IBLOCK_SECTION_ID'] ] = ( float ) $tmp [ $arWData['PROPERTY_SERVICE_IBLOCK_SECTION_ID'] ] + floatval ( $arWData['PROPERTY_PRICE_VALUE'] ) * floatval ( $arWData['PROPERTY_COUNT_VALUE'] ); $tmp [ $arWData['PROPERTY_SERVICE_IBLOCK_SECTION_ID'] ] = ( float ) $tmp [ $arWData['PROPERTY_SERVICE_IBLOCK_SECTION_ID'] ] + floatval( preg_replace('/,/',".", $arWData['WORK_COST'] )); // } } ksort($tmp); foreach( $tmp as $WorkTypePrice ){ $tmp['TO_PRICE'] = $tmp['TO_PRICE'] + floatval( preg_replace('/,/',".", $WorkTypePrice)); } $tmp['COUNT'] = $arWorks['COUNT']; $tmp['ITOGO_PRICE'] = ( float ) $tmp['TO_PRICE'] *floatval( preg_replace('/,/',".", $arWorks['COUNT'] )); $tmp1[ $arWorks["NAME"] ] ["TYPE_TO"] = $arWorks["PROPERTY_TYPE_TO_VALUE"]; $tmp1[ $arWorks["NAME"] ] ["WORK"] = $tmp; } $t ='<table class="result-table">'; $t.='<tr>'; foreach( $Titles as $title ){ $t.='<td>'; $t.= $title ; $t.='</td>'; } $t.='</tr>'; $summ = 0; foreach( $tmp1 as $fname => &$arFields ){ $on_click = 'data-to-type="'.$arFields['TYPE_TO'].'"'; $tr =''; $tr .= '<tr>'; $tr .= '<td '.$on_click.' >'; $tr .= $fname; $tr .= '</td>'; foreach( $arFields['WORK'] as $key=>$value){ if( $key != "COUNT") { $tr .= '<td '.$on_click.' >'. sprintf("%1.2f", $value ) ."</td>"; }else{ $tr .= '<td '.$on_click.' >'. sprintf("%2d", $value ) ."</td>"; } } // $tr .= '<td '.$on_click.' >'. implode ('</td><td '.$on_click.' >', $arFields['WORK'] )."</td>"; $tr .= '</tr>'; $summ = $summ + $arFields['WORK'] ['ITOGO_PRICE'] ; $t.= $tr; } /* itogy rows */ reset ( $tmp1); $arTmp = current( $tmp1 ); $cells = count ( $arTmp['WORK'] ); $itogi = '<tr>'; for( $i=0; $i < $cells; $i++ ){ $itogi .= '<td></td>'; } $itogi .= "<td>".sprintf("%1.2f", $summ)."</td></tr>"; $t .= $itogi; $t .='</table>'; //echo "<pre>";print_r( $tmp1 );echo "</pre>"; return $t; }