Ver Mensaje Individual
  #2 (permalink)  
Antiguo 04/11/2008, 11:07
Avatar de destor77
destor77
 
Fecha de Ingreso: noviembre-2004
Ubicación: Gálvez, Santa Fe, Argentina
Mensajes: 2.654
Antigüedad: 19 años, 6 meses
Puntos: 43
Respuesta: optimizar codigo

el resto del codigo es:
Código PHP:
echo '<div align="center">
                     <table width="391" height="235" border="1" cellpadding="0" cellspacing="0">
                     <tr>
                     <td><div align="center">n</div></td>
                     <td><div align="center">Id</div></td>
                     <td><div align="center">nombre</div></td>
                     <td><div align="center">Liga ID</div></td>
                     <td><div align="center">Liga Nombre</div></td>
                     <td><div align="center">Level</div></td>
                     <td><div align="center">estrellas</div></td>                                                          
                     <td><div align="center">ranking</div></td>
                     <td><div align="center">estado</div></td>  
                     <td><div align="center">fecha</div></td>                                     
                     <td><div align="center">puesto</div></td>
                     </tr>'
;
                
//actualiza
       
$query "SELECT id_hattrick FROM aseh_equipos where boot='false'";
       if ( 
$result mysql_query($query) )
        {
            
$i 0;
            while ( 
$row mysql_fetch_array$result) ){                
                
$teamID $row["id_hattrick"];
                
$i++;
               
// for ( $i =0; $i < count($teamID); $i++ )
                //{
                    
$team=$HT->getTeam($teamID);
                    
$matches=$HT->getSeniorTeamMatches($teamID);
                    
                    if(
$team->isBot()==1){
                        
$boot="true";
                    }
                    else{
                        
$boot="false";
                    }
                    
//echo "boot: $boot<br/>";
                    
$liganombre=$team->getLeagueLevelName();
                    
//echo "liga nombre: $liganombre<br/>";
                    
$id_liga=$team->getLeagueLevelId();
                    
//echo "id liga: $id_liga<br/>";
                    
$ligalevel=$team->getLeagueLevel();
                    
//echo "ligalevel: $ligalevel<br/>";
                    
$ranking=$team->getTeamRank();
                    
//echo "ranking: $ranking<br/>";
                    
                    //actualizo la liga y la temporada
                    
$sql="select id_temp from aseh_division where id_hattrick=$teamID order by id_temp DESC limit 1 ";
                    
$division=mysql_fetch_array(mysql_query($sql));
                    if (
$division['id_temp']!=$temporada){
                        
$sql="insert into aseh_division (id_hattrick, id_temp, id_division, division) 
                              values ('$teamID','$temporada','$id_liga','$liganombre')"
;
                        
mysql_query($sql);
                    }
                    
                    
//actualizo los datos del equipo
                    
$datos="update aseh_equipos set dueño='".$team->getLoginName()."', nombre='".$team->getTeamName()."', id_estadio='".$team->getArenaId()."', id_liga='$id_liga', 
                          liga='$liganombre', boot='$boot'  where
                          id_hattrick=$teamID"
;
                    
mysql_query($datos);
                    
                    
$matchID 0;
                        
$stars 0;
                        
$liga=$HT->getLeague($id_liga);
                        
                        
//posiciones 
                        
$fecha=$HT->getWorldDetails()->getLeague(7)->getMatchRound()-1;
                        
//echo "fecha: $fecha <br>";
                        
for ($j=1;$j<=8;$j++){                        
                            if(
$row["id_hattrick"]==$liga->getTeam($j)->getTeamId()){
                                
$pos=$liga->getTeam($j)->getPosition();                            
                            }
                        }
                    
                    
//estrellas
                    //obtengo el id del partido
                            
                        
$total=$matches->getNumberMatches();                    
                        for(
$m=1;$m <= $total;$m++){                        
                            if(
$matches->getMatch($m)->getType()==&& $matches->getMatch($m)->getStatus()=="FINISHED"){
                                
$matchID=$matches->getMatch($m)->getId();
                                
                            }
                        }
                    
                    if(
$matchID){
                        
/*$alineacion=$nt->getSeniorLineup($matchID,$teamID);
                        var_dump($alineacion);
                        for($i=1; $i<=$alineacion->getPlayersNumber(); $i++){
                            $player=$alineacion->getPlayer($i);
                            $stars+=$player->getRatingStars(); 
                            echo "jugador id:".$player->getId()."<br/> estrellas:".$player->getRatingStars()." <br/>";
                        }*/
                        
$stars=$HT->getSeniorLineup($matchID,$teamID)->getTotalStars();    

                    }
                    
                    echo 
'<tr>
                          <td><div align="center">'
.$i.'</div></td>
                          <td><div align="center">'
.$team->getTeamId().'</div></td>
                          <td><div align="center">'
.$team->getTeamName().'</div></td>
                          <td><div align="center">'
.$id_liga.'</div></td>
                           <td><div align="center">'
.$liganombre.'</div></td>
                          <td><div align="center">'
.$ligalevel.'</div></td>
                          <td><div align="center">'
.$stars.'</div></td>
                          <td><div align="center">'
.$ranking.'</div></td>    
                          <td><div align="center">'
.$boot.'</div></td>                          
                          <td><div align="center">'
.$fecha.'</div></td>
                          <td><div align="center">'
.$pos.'</div></td>                       
                          </tr>'
;
                    
                    switch (
$fecha){
                        case 
0:
                            
//actualizo el rankgin
                            
$query="insert into aseh_ranking (id_hattrick,ranking,id_temp,id_fecha) values ('$teamID','$ranking','$temporada','14')";
                            if(!
mysql_query($query)){
                                echo 
"error en la consulta<br>".mysql_error()."<br>".$query."<br>";
                            }                            
                            
//actualizo el estrellas
                            
$query="insert into aseh_estrellas (id_hattrick,estrellas,id_temp,id_fecha) values ('$teamID','$stars', '$temporada', '14')";
                            if(!
mysql_query($query)){
                                echo 
"error en la consulta<br>".mysql_error()."<br>".$query."<br>";
                            }
                            
//actualizo el posiciones
                            
$query="insert into aseh_posiciones (id_hattrick,posicion,id_temp,id_fecha) values ('$teamID','$pos', '$temporada', '14')";
                            if(!
mysql_query($query)){
                                echo 
"error en la consulta<br>".mysql_error()."<br>".$query."<br>";
                            }
                                                        
                        break;
                        case 
1:
                            
//actualizo el rankgin
                            
$query="insert into aseh_ranking (id_hattrick,ranking,id_temp,id_fecha) values ('$teamID','$ranking','$temporada','$fecha')";
                    if(!
mysql_query($query)){
                                echo 
"error en la consulta<br>".mysql_error()."<br>".$query."<br>";
                            }
                            
//actualizo el estrellas
                            
$query="insert into aseh_estrellas (id_hattrick,estrellas,id_temp,id_fecha) values ('$teamID','$stars', '$temporada', '$fecha')";
                    if(!
mysql_query($query)){
                                echo 
"error en la consulta<br>".mysql_error()."<br>".$query."<br>";
                            }
                            
//actualizo el posiciones
                            
$query="insert into aseh_posiciones (id_hattrick,posicion,id_temp,id_fecha) values ('$teamID','$pos', '$temporada', '$fecha')";
                    if(!
mysql_query($query)){
                                echo 
"error en la consulta<br>".mysql_error()."<br>".$query."<br>";
                            }                                                        
                        break;
                        
// el case se hace por 14 valores del 0 al 14 que son las fechas
                    
}        
                            
                
//}// fin for ( $i = 0; $i < count($teamID); $i++ )
                
            
}
            
            echo 
'</table></div> ';
          }
// fin if ( $result = mysql_query($query) )
          //mysql_free_result($result);
          
    
}// fin if ( mysql_select_db($dbname, $link) )
    
}// fin if $link = mysql_connect($dbhost,$dbuser,$dbpassword)
mysql_close($link);
echo 
"<br />";
echo 
"Total equipos:$i";


echo 
"<br />"
la cuestion es que traigo unos 400 registros y ultimamente me salta un error por el registro 333 y me dice que no hay mas memoria, por eso queria saber si se puede optimizar el codigo, los datos los obtengos de una pagina de internet, es decir de mi db obtengo el id y con eso obtengo los datos que quiere de la pagina de internet.
Espero que se haya entendido y me puedan dar una mano.