Hola informacionsys.
Me he puesto a probar el código que te puse antes para salir de dudas y me he dado cuenta que tenía un error y un fallo. El error era que me faltaba poner una variable en un sitio, y el fallo era que dejaba de imprimir la última fila.
El código correcto es el siguinete:
Código PHP:
$resultado = mysql_query($query); //resultado de la consulta
$row = mysql_fetch_assoc($resultado); //extraes el primer registro
$codigo = $row['cod_suc']; //asignas datos a variables
$directo = $row['DIRECTO'];
$indirecto = $row['INDIRECTO'];
$corp = $row['CORPORATIVO'];
while ($reg = mysql_fetch_assoc($resultado) ) //sigues sacando registros
{
if ($reg['cod_suc'] == $codigo) //si los códigos son iguales sumas los valores
{
$directo += $reg['DIRECTO'];
$indirecto += $reg['INDIRECTO'];
$corp += $reg['CORPORATIVO'];
}
else { //si los códigos son distintos
//imprimes registro
// (Aquí va el código para imprimir la fila usando las variables $codigo, $directo, $indirecto y $corp).
// asignas nuevos datos
$codigo = $reg['cod_suc'];
$directo = $reg['DIRECTO'];
$indirecto = $reg['INDIRECTO'];
$corp = $reg['CORPORATIVO'];
}
}
//Aquí hay que poner el código para imprimir la última fila
Este código trabaja bien, está probado. Ahora te toca a ti adaptarlo a tus necesidades. Intenta entender el algoritmo. Intenta identificar las variables y funciones que te he puesto con las que tú tienes y colócalas en el lugar apropiado.
Donde te he puesto que tienes que poner el código para imprimir la fila, básicamente lo que tienes que poner es esto:
Código:
<tr>
<td>directo</td>
<td>0</td>
<td>0</td>
<td><?php echo $directo;?></td>
<td>0</td>
</tr>
<tr>
<td>indirecto</td>
<td>0</td>
<td>0</td>
<td><?php echo $indirecto;?></td>
<td>0</td>
</tr>
<tr>
<td>corporativo</td>
<td>0</td>
<td>0</td>
<td><?php echo $corporativo;?></td>
<td>0</td>
</tr>
Intenta probar el código sin crear la tabla. Solo imprime las variables, para que puedas comprobar si te funciona o no. Una vez que veas que te salen los resultados esperados pon el código html para crear la tabla.
Este código es para mysql. Por lo que veo tú usas otro motor. No sé bien como va ese motor de base de datos por lo que no te he adaptado el código a lo tuyo, eso te lo dejo a ti, pero si entiendes bien el algoritmo no creo que tengas problema.
Si hay algo que no entiendes postealo aquí y con gusto intentaré ayudarte.
Un saludo.