Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/01/2014, 10:19
Avatar de adryan310
adryan310
 
Fecha de Ingreso: septiembre-2012
Mensajes: 450
Antigüedad: 11 años, 8 meses
Puntos: 3
Pregunta Que corregir de mi código para hacer lo siguiente?

Saludos foreros...

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.