while ($ostatnieid+1>$id)
{
$linklolking = $query['linklolking'];
$linktorg = $query['linktorg'];
//score
preg_match_all('#<div style="display: inline-block; margin-left: -8px; vertical-align: middle; font: bold 24px/32px "Trebuchet MS";">(.*)</div>#iU', $strona, $wynik); $score = $wynik[1][1];
//serwer
preg_match('#<div style="margin-left: 3px; font-size: 14px; line-height: 12px; font-weight: normal; white-space: nowrap;">(.*) #iU', $strona, $wynik); $serwer = "$wynik[1]";
//nick
preg_match('/<div style="font-size: 36px; line-height: 44px; white-space: nowrap;">(.*)<\/div>/iU', $strona, $wynik); $lolnick = "$wynik[1]";
//dywizja
preg_match_all('#<div class="personal_ratings_rating" style="margin-bottom: 0; font-size: 20px; height: 30px; font: bold 20px \'Trebuchet MS\';">(.*?)</div>#iU', $strona, $wynik); $dywizja = $wynik[1][1];
preg_match('#<span class="member_username">(.*)</span>#iU', $strona, $wynik);
preg_match('#<li class="navbit lastnavbit"><span>(.*)</span>#iU', $strona, $wynik); $nicktorg = "$wynik[1]";
mysql_query("UPDATE `torgrating` SET `score` = '$score' , `serwer` = '$serwer' , `lolnick` = '$lolnick' , `dywizja` = '$dywizja' , `nicktorg` = '$nicktorg' WHERE `id` = '$id' "); $id++;
}
W skrócie : pobiera 2 linki z bazy danych , wyciąga dane z tych linków , zapisuje spowrotem do bazy. I tak dla 12 osób kod wykonuje się średnio 70 sec.
Pocięłem troche kod i okazało się że pobranie tej strony :
zajmuje 80% (!) czasu całego wykonywania kodu, ma ona 23tys. linijek kodu jak sprawdziłem.
Da się jakoś wyciągać dane bez pobierania całej?