Un amigo del foro me estuvo ayudando con un tema que por error marque como solucionado, asumo que por eso nadie se mete a mi tema ya que lo ve solucionado, la cuestión es que este código recorre lo devuelto por la base de datos, cuando el numero de juego y los equipos son los mismos el realiza una suma de los campos que tienen los += y cuando ya no sean iguales los manda a una función que los va almacenando en forma de fila y las variables que sumo se reinician para que solo sume los campos cuando sean iguales, la cuestión es que este código si me agrupa por numero de juego y por equipo pero no me suma bien los campos que quiero sumar, alguna ayuda ???
Código PHP:
// Funcion que muestra los datos.
function showFila(&$response, $anterior, $counterTickets, $counterRisk, $counterWinLoss, $todayFigure){
$response .= "<tr>
<td>$anterior[Time]</td>
<td>$anterior[NumGame]</td>
<td>$anterior[Teams]</td>
<td>$anterior[Score]</td>
<td><a href=\"#\" onClick=\"openInfoWager(this);\">$counterTickets</a></td>
<td>$counterRisk</td>
<td>$counterWinLoss</td>
<td>$todayFigure</td>
</tr>";
}
// Variable
$estado = (bool) ($dataGames = $strDataGames->fetch(PDO::FETCH_ASSOC));
// El while
while($estado){
if ( isset($anterior) ){
// Si hay un aterior trabajamos con el. Esto se hace ciempre.
$counterTickets += $anterior['Tickets'];
$counterRisk += $anterior['Risk'];
$counterWinLoss += $anterior['WinLoss'];
$IdGames .= $anterior['IdGame']."+";
// Verificamos la similitud con el anterior. Si coinciden hago lo que quiero.
if(($dataGames['NumGame'] == $anterior['NumGame']) && ($dataGames['Teams'] == $anterior['Teams'])){
if(strtotime($anterior['Time']) < strtotime($dataGames['Time']))
$anterior['Time'] = $dataGames['Time'];
$anterior['Score'] = $dataGames['Score'];
}
else{
$todayFigure += $counterWinLoss;
// ahora se usa la funcion
showFila($response, $anterior, $counterTickets, $counterRisk, $counterWinLoss, $todayFigure);
// Borrar el anterior.
unset($anterior);
}
}
if ( !isset($anterior) ){
// Preparar las variables para la proxima ronda.
$counterTickets = 0;
$counterRisk = 0;
$counterWinLoss = 0;
$IdGames = "";
$anterior = $dataGames;
}
// Si es el ultimo.
if(!($estado = (bool) ($dataGames = $strDataGames->fetch(PDO::FETCH_ASSOC))))
showFila($response, $anterior, $counterTickets, $counterRisk, $counterWinLoss, $todayFigure);
}// end while.