Foros del Web » Programando para Internet » PHP »

optimizar codigo?

Estas en el tema de optimizar codigo? en el foro de PHP en Foros del Web. Buenas: tengo el siguiente código, lo que haces es conectarse mediante una clase a hattrick.org y obtener una serie de datos, el tema es que ...
  #1 (permalink)  
Antiguo 27/08/2007, 10:25
Avatar de destor77  
Fecha de Ingreso: noviembre-2004
Ubicación: Gálvez, Santa Fe, Argentina
Mensajes: 2.654
Antigüedad: 15 años, 4 meses
Puntos: 43
optimizar codigo?

Buenas:
tengo el siguiente código, lo que haces es conectarse mediante una clase a hattrick.org y obtener una serie de datos, el tema es que los id de los equipos los saca de mi base de datos son unos 450 registros, hasta ahí todo bien. Pero desde que arme el script solamente lo pude correr correctamente 2 veces. Todas las demás me demora una eternidad y no me actualiza todos los datos, y no se si es problema del servidor, lo probé en uno gratis y en el pago que tengo (curiosamente las veces que anduvo fue en el gratis), del script o de mi conexión de internet.

El código es el siguiente:
Código PHP:
<?
require_once 'HTClient.php';
session_start();
if (! 
$_SESSION['htclient']) {
    
header('Location: error.php?code=0');
    exit();
}
echo 
'<html>
<head>
<meta http-equiv="Content-Type" content="text/html; CHARSET=UTF-8" />
</head>
<body>'
;
// Get the HTClient class instance from session variables.
$htclient $_SESSION['htclient'];


//datos conexion base de datos
$dbhost "localhost";
$dbname "***";
$dbuser "***";
$dbpassword "**"

$i=1;

if ( 
$link mysql_connect($dbhost,$dbuser,$dbpassword) )
{
    if ( 
mysql_select_db($dbname$link) )
    {
                
$query1="SELECT * FROM `aseh_estadisticas`";
        
$result1 mysql_query($query1);
                echo
'   <div align="center">
                <table width="391" height="235" border="1" cellpadding="0" cellspacing="0">'
;
        while ( 
$row mysql_fetch_array$result1MYSQL_ASSOC ) ){
                      echo 
'<tr>
                             <td colspan="4"><div align="center">'
.$i.'</div></td>
                           <td colspan="4"><div align="center">'
.$row["id_hattrick"].'</div></td>
                           <td colspan="4"><div align="center">'
.$row["nombre_eq"].'</div></td>
                           <td colspan="4"><div align="center">'
.$row["estrellas"].'</div></td>
                           <td colspan="4"><div align="center">'
.$row["estado"].'</div></td>
                           </tr>'
;
                      
$i++;
        }
// fin while $row = mysql_fetch_array( $result1, MYSQL_ASSOC )
                
echo '</table></div> <br />';
                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">estrellas</div></td>
                     <td><div align="center">lignivID</div></td>
                     <td><div align="center">ligNom</div></td>
                     <td><div align="center">Liga Nivel</div></td>
                     <td><div align="center">ranking</div></td>
                     <td><div align="center">estado</div></td>
                     <td><div align="center">estadio id</div></td>
                     <td><div align="center">estadio</div></td>
                     <td><div align="center">tamao</div></td>
                     </tr>'
;
                
//actualiza
        
$query "SELECT * FROM `aseh_estadisticas`";
        if ( 
$result mysql_query($query) )
        {
            
$i 0;
            while ( 
$row mysql_fetch_array$resultMYSQL_ASSOC ) )
                
$teamID[$i++] = $row["id_hattrick"];
                
                for ( 
$i =0$i count($teamID); $i++ )
                {
                    
$teamDetails=$htclient->getTeamDetails($teamID[$i]);
                    
//$arenaid=$teamDetails['ARENAID'];
                    
$arenaDetails $htclient->ArenaDetails($teamDetails['ARENAID']);
                    
$matches $htclient->getMatches($teamID[$i]);
                    
$matchID 0;
                    
$stars 0;
    
                    for ( 
$m 0$m count($matches["MATCH"]); $m++ )
                    {
                        if ( ( 
$matches["MATCH"][$m]["MATCHTYPE"] == ) && ( $matches["MATCH"][$m]["STATUS"] == "FINISHED" ) )
                            
$matchID $matches["MATCH"][$m]["MATCHID"];
                    }
// fin for ( $m = 0; $m < count($matches["MATCH"]); $m++ )
                    
                    
if ( $matchID )
                    {
                        
$matchLineup $htclient->getMatchLineup($matchID$teamID[$i]);
                        for ( 
$m 0$m count($matchLineup['PLAYER']); $m++ )
                        {
                            if ( ( 
$matchLineup["PLAYER"][$m]["ROLEID"] >= ) && ( $matchLineup["PLAYER"][$m]["ROLEID"] <= 11 ) )
                            
$stars += $matchLineup["PLAYER"][$m]["RATINGSTARS"];
                        }
//fin for ( $m = 0; $m < count($matchLineup['PLAYER']); $m++ )
                        
                    
}// fin if ( $matchID )

                    //$query = "UPDATE `aseh_estadisticas` SET `nombre_eq`='',`estrellas`=".$stars.", `estadio`=".$arenaDetails["TOTAL"].", `estado`=".$teamDetails["ISBOT"]." WHERE `id_hattrick`=".$teamID[$i].";";
                    //$query2 = "UPDATE `aseh_estadisticas` SET `nombre_eq`='".$teamDetails["TEAMNAME"]."',`estrellas`=".$stars.",`estado`=1 WHERE `id_hattrick`=".$teamID[$i].";";
                    //$query = "UPDATE aseh_estadisticas SET nombre_eq='".$teamDetails["TEAMNAME"]."',estrellas=".$stars.", estadio=".$arenaDetails["TOTAL"]." , estado=".$teamDetails["ISBOT"]." WHERE id_hattrick=".$teamID[$i].";";
                    
$query "UPDATE aseh_estadisticas SET nombre_eq='$teamDetails[TEAMNAME]', estrellas='$stars', estado='$teamDetails[ISBOT]',lignivID='$teamDetails[LEAGUELEVELUNITID]', ligNom='$teamDetails[LEAGUELEVELUNITNAME]', ranking='$teamDetails[TEAMRANK]' WHERE id_hattrick='$teamID[$i]'";
                    
mysql_query($query);
                    echo 
'<tr>
                          <td><div align="center">'
.$i.'</div></td>
                          <td><div align="center">'
.$teamID[$i].'</div></td>
                          <td><div align="center">'
.$teamDetails["TEAMNAME"].'</div></td>
                          <td><div align="center">'
.$stars.'</div></td>
                           <td><div align="center">'
.$teamDetails["LEAGUELEVELUNITID"].'</div></td>
                          <td><div align="center">'
.$teamDetails["LEAGUELEVELUNITNAME"].'</div></td>
                          <td><div align="center">'
.$teamDetails["LEAGUELEVEL"].'</div></td>
                          <td><div align="center">'
.$teamDetails["TEAMRANK"].'</div></td>    
                          <td><div align="center">'
.$teamDetails["ISBOT"].'</div></td>
                          <td><div align="center">'
.$teamDetails["ARENAID"].'</div></td>
                          <td><div align="center">'
.$teamDetails["ARENANAME"].'</div></td>
                          <td><div align="center">'
.$arenaDetails["TOTAL"].'</div></td>
                          </tr>'
;
                }
// fin for ( $i = 0; $i < count($teamID); $i++ )
            
            
echo '</table></div> ';
          }
// fin if ( $result = mysql_query($query) )
          
    
}// fin if ( mysql_select_db($dbname, $link) )
    
}// fin if $link = mysql_connect($dbhost,$dbuser,$dbpassword)
mysql_close($link);
echo 
"<br />";
echo 
"Total equipos: ";
echo 
count($teamID);
echo 
"<br />";
?>
<a href="team.php">Volver</a>
</body>
</html>
espero que me puedan dar una mano, desde ya muchas gracias
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 01:47.