Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Que corregir de mi código para hacer lo siguiente?

Estas en el tema de Que corregir de mi código para hacer lo siguiente? en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 30/01/2014, 10:19
Avatar de adryan310  
Fecha de Ingreso: septiembre-2012
Mensajes: 450
Antigüedad: 11 años, 7 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. 
  #2 (permalink)  
Antiguo 30/01/2014, 10:48
Avatar de adryan310  
Fecha de Ingreso: septiembre-2012
Mensajes: 450
Antigüedad: 11 años, 7 meses
Puntos: 3
Pregunta Respuesta: Que corregir de mi código para hacer lo siguiente?

Amigos soluciones uno de los problemas y es que en el ultimo dato no me estaba sumando los campos ya eso lo solucione con esto:
Código PHP:
// Si es el ultimo.
        
if(!($estado = (bool) ($dataGames $strDataGames->fetch(PDO::FETCH_ASSOC)))){
                
$counterTickets      += $anterior['Tickets'];
                
$counterRisk         += $anterior['Risk'];
                
$counterWinLoss      += $anterior['WinLoss'];
                
$IdGames             .= $anterior['IdGame']."+"
                
$todayFigure += $counterWinLoss
                
                
error_log("ultimo: ".print_r($anteriortrue));
                
showFila($response$anterior$counterTickets$counterRisk$counterWinLoss$todayFigure);

Pero aun asi me esta sumando mal en campos que tienen por ejemplo 8 tickets me cuenta 7 y otros que tienen 6 me suma 4 alguna ayuda ?
  #3 (permalink)  
Antiguo 30/01/2014, 12:07
Avatar de andinog  
Fecha de Ingreso: febrero-2012
Mensajes: 50
Antigüedad: 12 años, 2 meses
Puntos: 6
Respuesta: Que corregir de mi código para hacer lo siguiente?

Por mas que leo y re-leo la pregunta, no logro entender.

Si vas a sumar datos provenientes de la base de datos, seria conveniente
utilizar la funcion floatval

Y si es posible que te expliques un poco mejor

Saludos!
__________________
"El que nada duda nada sabe"
Ser Programador

Etiquetas: corregir, variable
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:04.