Avatar billede bgo Nybegynder
10. august 2005 - 12:46 Der er 25 kommentarer og
1 løsning

kan jeg optimere dette

Jeg er ikke ligefrem en haj til hverken php eller mysql, men noget siger mig at det må være muligt at optimere nedenstående, så det går hurtigere - det har jeg ial fald brug for, det stumpen skal gennemføres op til over 20000 gange (et dagligt opdaterings script).

    // AVERAGE DAY
    $creditsum=0;
    $daycountavg=0;
    $creditsum2=0;
    $daycount2=0;
    $creditsum3=0;
    $daycount3=0;
   
    $sql4 = "SELECT * FROM xml_teams_credit_day WHERE (teamid = ".$row['teamid'].") AND (project = '".$updateproject."') ORDER BY dato DESC LIMIT 0, 122";
    //echo $sql4."<br>";
    $status4=mysql_query("$sql4") or die (mysql_error());
    while ($row4 = mysql_fetch_array($status4)){
   
       
        $daycountavg=$daycountavg+1;
       
       
       
        if ($daycountavg<8){
            $daycount2=$daycount2+1;
            $creditsum2=$creditsum2+$row4['credit_day'];
        }
        if ($daycountavg<31){
            $daycount3=$daycount3+1;
            $creditsum3=$creditsum3+$row4['credit_day'];
        }
       
        $creditsum=$creditsum+$row4['credit_day'];
        $lastrow=$row4['credit_day'];
        //echo $creditsum." ".$row4['credit_day']." ";
       
   
    }
   
    if ($daycountavg>0){
        $avgday=$creditsum/($daycountavg);
    }else{
        $avgday=0;
    }
    if ($daycount2>0){
        $avgday7=$creditsum2/($daycount2);
    }else{
        $avgday7=0;
    }
    if ($daycount3>0){
        $avgday30=$creditsum3/($daycount3);
    }else{
        $avgday30=0;
    }
    $average7[$row['teamid']]=$avgday7;
    $average122[$row['teamid']]=$avgday;
    $sql3 = "INSERT INTO xml_teams_average (dato, average, teamid, project) VALUES (".date("Ymd", $yesterday).", ".$avgday.", ".$row['teamid'].", '".$updateproject."')";
    //echo $sql3."<br>";
    //echo "- tilføjer avg day<br>";
    mysql_query("$sql3") or die (mysql_error());
    $sql3 = "INSERT INTO xml_teams_average_7 (dato, avg7, avg30, teamid, project) VALUES (".date("Ymd", $yesterday).", ".$avgday7.", ".$avgday30.", ".$row['teamid'].", '".$updateproject."')";
    //echo $sql3."<br>";
    //echo "- tilføjer avg day<br>";
    mysql_query("$sql3") or die (mysql_error());

Oprindeligt havde jeg to SELECT mere, til beregning af henholdsvis avgday7 og avgday30, men jeg fik smidt de dele ind i ovenstående, og fik skåret en masse tid af. Men kan jeg optimere det her yderligere?
Avatar billede jakobdo Ekspert
10. august 2005 - 17:47 #1
Nogle ting du kunne gøre.
I dit udtræk fra sql'en i SELECT, brug ikke SELECT *, men nøjes med: SELECT credit_day
Og hvad bruger du disse til:
$average7[$row['teamid']]=$avgday7;
$average122[$row['teamid']]=$avgday;
Jeg set dem ikke længere nede i scriptet?
Avatar billede bgo Nybegynder
10. august 2005 - 17:59 #2
$average7[$row['teamid']]=$avgday7; og tilsvarende for 30 bruger jeg senere i en anden del af scriptet. Men du har helt ret - jeg kan spare lidt ved kun at selecte credit_day - jeg henter jo ikke teamid, dato eller nøgle.

Jeg har imellemtiden fundet ud af at der er noget andet der sænker scriptet: Mangel på hukommelse - jeg har dog bestilt mere ram. Indtil da må jeg se om ikke jeg kan spare et eller flere array(s) væk. Jeg har jo bemærket at scriptet kører langsommere og langsommere - selvfølgelig fordi hukommelsen fyldes op (og jeg kører i forvejen helt ude på grænsen).

Nu skal jeg så lige vente til igangværende kørsel er færdig før jeg gør noget - ja, den kører stadig :D
Avatar billede nielle Nybegynder
10. august 2005 - 20:08 #3
Her er din kode med en masse mikro-optimeringer. Jeg ved ikke om det batter noget i længden, men lidt har jo også ret:

// AVERAGE DAY
$creditsum = 0;
$daycountavg = 0;
$creditsum2 = 0;
$daycount2 = 0;
$creditsum3 = 0;
$daycount3 = 0;
   
$sql4 = "SELECT credit_day FROM xml_teams_credit_day WHERE (teamid = " . $row['teamid'] . ") AND (project = '" . $updateproject . "') ORDER BY dato DESC LIMIT 0, 122";
// echo $sql4 . "<br>";
$status4 = mysql_query("$sql4") or die (mysql_error());

while ($row4 = mysql_fetch_assoc($status4))
{
    $daycountavg++;

    $credit_day = $row4['credit_day'];

        if ($daycountavg < 31)
    {
        if ($daycountavg < 8)
        {
            $daycount2++;
            $creditsum2 += $credit_day;
        }

        $daycount3++;
        $creditsum3 += $credit_day;
        }
       
        $creditsum += $credit_day;
        $lastrow = $credit_day;
        // echo $creditsum . " " . $credit_day . " ";
}

$avgday = ($daycountavg > 0) ? $avgday = $creditsum/$daycountavg : 0;
$avgday7 = ($daycount2 > 0) ? $creditsum2/$daycount2 : 0;
$avgday30 = ($daycount3 > 0) ? $creditsum3/$daycount3 : 0;

$average7[$row['teamid']] = $avgday7;
$average122[$row['teamid']] = $avgday;

$sql3 = "INSERT INTO xml_teams_average (dato, average, teamid, project) VALUES (" . date("Ymd", $yesterday) . ", " . $avgday . ", " . $row['teamid'] . ", '" . $updateproject . "')";
// echo $sql3 . "<br>";
// echo "- tilføjer avg day<br>";
mysql_query("$sql3") or die (mysql_error());

$sql3 = "INSERT INTO xml_teams_average_7 (dato, avg7, avg30, teamid, project) VALUES (" . date("Ymd", $yesterday) . ", " . $avgday7 . ", " . $avgday30 . ", " . $row['teamid'] . ", '" . $updateproject . "')";
// echo $sql3 . "<br>";
// echo "- tilføjer avg day<br>";
mysql_query("$sql3") or die (mysql_error());
Avatar billede nielle Nybegynder
10. august 2005 - 20:13 #4
I øvrigt kan du afprøve om:

SELECT credit_day FROM xml_teams_credit_day WHERE project = '" . $updateproject . "' AND teamid = " . $row['teamid'] . " ORDER BY dato DESC LIMIT 0, 122";

- virker bedre end:

SELECT credit_day FROM xml_teams_credit_day WHERE teamid = " . $row['teamid'] . " AND project = '" . $updateproject . "' ORDER BY dato DESC LIMIT 0, 122";

Det er nemlig ikke helt ligegyldigt, rent performance-mæssigt, hvordan man sammensætter rækkefølgen i sit SQL-udtryk.
Avatar billede bgo Nybegynder
10. august 2005 - 21:16 #5
nielle:

jeg tror jeg kan garantere at selv de mindste ting giver noget.

scriptet kører iøvrigt stadig :D Det er ikke uden grund jeg glæder mig til noget mere ram ;)

Jeg var iøvrigt ikke klar over at rækkefølgen i betingelserne kunne have en betydning - så det vil jeg prøve :) Ligesom jeg vil prøve at komme af med de arrays - jeg tror nemlig jeg ikke behøver dem, hvis jeg omarrangerer andre dele af scriptet. Det hjalp at spare 4 sql-kald pr gennemløb (altså ca. 80000 sql kald) - og jeg kan sandsynligvis spare de to arrays nævnt hér plus et andet der fyldes op før og bruges efter denne stump, hvilket så vil spare ca. 60000 double pladser i hukommelsen. Det burde også give en god del forøgelse på hastigheden.

Det varer nok et par timer endnu før jeg kan prøve alle disse ting af (må nok hellere gøre det op mod en test-database ;))
Avatar billede nielle Nybegynder
10. august 2005 - 21:37 #6
Når man sætter betingelser i sin SQL - i dette tilfælde de to udrryk på hver side af ABD - bør man sætte dem sådan at de hurtigst muligt indskrænker det totale antal udtrukne rækker. Altså forstået sådan at den af de to, som foroversager at flest rækker sorteres fra, bør placeres først.
Avatar billede bgo Nybegynder
10. august 2005 - 21:46 #7
aha, altså noget ala "find lige de rækker hvor project er lig updateproject. af dem find så de rækker der er lig teamid" og ikke som jeg troede, noget i stil med "køre hele baduljen igennem og find dem der samtidig passer på begge betingelser"?
Avatar billede nielle Nybegynder
10. august 2005 - 21:56 #8
Nej, for hvis en given række fejler på den venstre-siden af en AND, så er der jo slet ikke nogen grund til at teste for om den fejler eller ej på højresiden.
Avatar billede bgo Nybegynder
10. august 2005 - 22:58 #9
ikke så forskelligt fra andre sprog som jeg regnede med så :)
Avatar billede nielle Nybegynder
10. august 2005 - 23:02 #10
Nope, teknikken kaldes vist for "boolean short-circut" eller noget i den stil, og det er en meget almindelig optimeringsteknik. :^)
Avatar billede bgo Nybegynder
10. august 2005 - 23:44 #11
boolean short-circut? genialt navn :D det ville også være genialt hvis kørslen snart var slut så jeg kunne afprøve de her optimeringer... ser ikke ud til det bliver før ved 3-tiden...

nå, men jeg melder tilbage imorgen
Avatar billede jakobdo Ekspert
11. august 2005 - 08:33 #12
Hvad med at lave noget indeksering på din tabel.
Andre optimeringsmuligheder kan evt også findes her:
http://dev.mysql.com/tech-resources/presentations/presentation-oscon2000-20000719/
Avatar billede nielle Nybegynder
11. august 2005 - 08:46 #13
Vi har ikke fået noget at vide om hvor stor tabellen er, og hvis den er meget stor så er indexing en mulighed. Dog kan det være et problem mht. performance hvis tabellen så også er meget dynamisk idet index så hele tiden skal rebuildes.

Der blev sagt at koden skulle køres over 20.000 gange om dagen. Samtidig skriver bgo også at det er ”et dagligt opdaterings script”. Umiddelbart hænger disse to udsagn ikke helt sammen, med mindre de 20.000 gange skyldes at der er den samme SQL, sætning:

sql4 = "SELECT credit_day FROM xml_teams_credit_day WHERE (teamid = " . $row['teamid'] . ") AND (project = '" . $updateproject . "') ORDER BY dato DESC LIMIT 0, 122";

- men med 20.000 forskellige værdier af $row['teamid'] der høres i et samlet run. Er det korrekt gættet?

Hvis dette er tilfældet så kan man sikkert vinde en del ved at kombinere den SQL som udtrækker $row['teamid'] med ovenstående, sådan at man får reduceret 20.000 kald til et enkelt. Desværre mangler jeg en del mere kode for at kunne give et bud på hvordan dette kunne strikkes sammen.
Avatar billede bgo Nybegynder
12. august 2005 - 12:06 #14
Kodestumpen er ganske rigtigt en del af et større script - det script skal udføres én gang omdagen (i øjeblikket forsøger jeg dog at indhente en del dages data, så indtil da ville jeg gerne nå at kører det oftere). I det større script vil stumpen nå at blive kaldt mere end 20000 gange på den ene fil der danner grundlag for dataene. De filer ændrer sig dagligt.

Jeg har ikke haft lejlighed til endnu at kører det med de nævnte optimeringer, men jeg har ændret mange steder i scriptet nu, men disse. Her er den nuværende udgave af det fulde script:

<?
$updateproject=$_GET['p'];
echo $updateproject."<br><br>";
set_time_limit(360000);

$yesterday=mktime(0, 0, 0, date("m")  , date("d")-18, date("Y"));
mysql_connect("127.0.0.1","root","") or die (mysql_error());
mysql_select_db("stats") or die (mysql_error());

mysql_query("UPDATE runtimes SET starttime = NOW() WHERE (stattype = 'teams') AND (project = '".$updateproject."')");

$sql = "SELECT * FROM coredata WHERE project = '".$updateproject."'";
   
$status=mysql_query("$sql") or die (mysql_error());
while ($row = mysql_fetch_array($status)){
   
    $coreversionsname=$row['coreversionsname'];
    $dbdumpname=$row['dbdumpname'];
    $tablesname=$row['tablesname'];
    $hostname=$row['hostname'];
    $teamname=$row['teamname'];
    $username=$row['username'];
    echo $username."<br>";
}

$sql = "DELETE FROM xml_teams_temp";
//mysql_query("$sql") or die (mysql_error());
$sql = "DELETE FROM xml_teams_forecast_temp";
mysql_query("$sql") or die (mysql_error());

$sql = "DELETE FROM xml_teams_average";
//mysql_query("$sql") or die (mysql_error());

$sql = "DELETE FROM xml_teams_average_7";
//mysql_query("$sql") or die (mysql_error());

$sql = "DELETE FROM xml_teams_credit_day";
//mysql_query("$sql") or die (mysql_error());

$sql = "DELETE FROM xml_teams_credit_month";
//mysql_query("$sql") or die (mysql_error());

$sql = "DELETE FROM xml_teams_credit_week";
//mysql_query("$sql") or die (mysql_error());

$sql = "DELETE FROM xml_teams_flops";
//mysql_query("$sql") or die (mysql_error());

$sql = "DELETE FROM xml_teams_list";
//mysql_query("$sql") or die (mysql_error());

$sql = "DELETE FROM xml_teams_morethanall";
//mysql_query("$sql") or die (mysql_error());

$sql = "DELETE FROM xml_teams_morethancountry";
mysql_query("$sql") or die (mysql_error());
$sql = "DELETE FROM xml_teams_morethantype";
mysql_query("$sql") or die (mysql_error());
$sql = "DELETE FROM xml_teams_nusers";
//mysql_query("$sql") or die (mysql_error());

$sql = "DELETE FROM xml_teams_rac";
//mysql_query("$sql") or die (mysql_error());

$sql = "DELETE FROM xml_teams_totalcredit";
//mysql_query("$sql") or die (mysql_error());

$sql = "DELETE FROM xml_teams_worldrank";
//mysql_query("$sql") or die (mysql_error());

$sql = "DELETE FROM xml_teams_worldrank_average";
mysql_query("$sql") or die (mysql_error());
$sql = "DELETE FROM xml_teams_worldrank_country";
mysql_query("$sql") or die (mysql_error());
$sql = "DELETE FROM xml_teams_worldrank_rac";
mysql_query("$sql") or die (mysql_error());
$sql = "DELETE FROM xml_teams_worldrank_type";
mysql_query("$sql") or die (mysql_error());
$sql = "DELETE FROM xml_teams_years";
//mysql_query("$sql") or die (mysql_error());

$sql="";
$itemcount=0;


function file_ungzip($fromFile, $toFile) {
  $zp = @gzopen($fromFile, "r");
  $fp = @fopen($toFile, "w");
  while(!@gzeof($zp)) {$string = @gzread($zp, 4096); @fwrite($fp, $string, strlen($string));}
  @gzclose($zp);
  @fclose($fp);
}

function startElement($xml_parser, $name, $attributes) {
    global $TagsOpen, $counter, $sql, $itemcount, $itemcount2, $itemsclosed, $sqlfields, $sqldata, $gottocountry, $useropen, $gottoname, $gottofoundername;
    switch($name) {
        case($name = "TEAMS"):
            $TagsOpen["teams"] = 1;
           
           
            break;
        case($name = "USER"):
            $TagsOpen["user"] = 1;
            //echo " user open ";
            $useropen=1;
           
            break;
        case($name = "TEAM"):
            $TagsOpen["team"] = 1;
            ?>
            <p>team <?=$counter++?></p>
            <?
            $sql="INSERT INTO xml_teams_temp (";
            $itemcount=0;
            $itemcount2=0;
            $itemsclosed=0;
            $sqlfields="";
            $sqldata="";
            break;
        case($name = "ID"):
            $TagsOpen["id"] = 1;
            if ($useropen==0){
            ?>
            <p>id:
            <?
            if ($itemcount>0){
                $sqlfields=$sqlfields.", teamid";
            }else{
                $sqlfields=$sqlfields."teamid";
            }
            $itemcount+=1;
            }
            break;
        case($name = "NAME");
            $TagsOpen["name"] = 1;
            if ($useropen==0){
            $gottoname=0;
            ?>
            name:
            <?
            if ($itemcount>0){
                $sqlfields=$sqlfields.", name";
            }else{
                $sqlfields=$sqlfields."name";
            }
            $itemcount+=1;
            }
            break;
        case($name = "COUNTRY"):
            $TagsOpen["country"] = 1;
            if ($useropen==0){
            ?>
            country:
            <?
            //echo "opened";
            $gottocountry=0;
            //echo " ".$gottocountry." ";
            if ($itemcount>0){
                $sqlfields=$sqlfields.", country";
            }else{
                $sqlfields=$sqlfields."country";
            }
            $itemcount+=1;
            }
            break;
        case($name = "CREATE_TIME"):
            $TagsOpen["create_time"] = 1;
            if ($useropen==0){
            ?>
            create_time:
            <?
            if ($itemcount>0){
                $sqlfields=$sqlfields.", create_time";
            }else{
                $sqlfields=$sqlfields."create_time";
            }
            $itemcount+=1;
            }
            break;
        case($name = "TOTAL_CREDIT"):
            $TagsOpen["total_credit"] = 1;
            if ($useropen==0){
            ?>
            total_credit:
            <?if ($itemcount>0){
                $sqlfields=$sqlfields.", total_credit";
            }else{
                $sqlfields=$sqlfields."total_credit";
            }
            $itemcount+=1;
            }
            break;
        case($name = "EXPAVG_CREDIT"):
            $TagsOpen["expavg_credit"] = 1;
            if ($useropen==0){
            ?>
            avg_credit:
            <?
            if ($itemcount>0){
                $sqlfields=$sqlfields.", expavg_credit";
            }else{
                $sqlfields=$sqlfields."expavg_credit";
            }
            $itemcount+=1;
            }
            break;
        case($name = "EXPAVG_TIME"):
            $TagsOpen["expavg_time"] = 1;
            if ($useropen==0){
            ?>
            expavg_time:
            <?
            }
            break;
        case($name = "CPID"):
            $TagsOpen["cpid"] = 1;
            if ($useropen==0){
            ?>
            cpid:
            <?if ($itemcount>0){
                $sqlfields=$sqlfields.", cpid";
            }else{
                $sqlfields=$sqlfields."cpid";
            }
            $itemcount+=1;
            }
            break;
        case($name = "USERID"):
            $TagsOpen["userid"] = 1;
            if ($useropen==0){
            ?>
            userid:
            <?
            if ($itemcount>0){
                $sqlfields=$sqlfields.", userid";
            }else{
                $sqlfields=$sqlfields."userid";
            }
            $itemcount+=1;
            }
            break;
        case($name = "NUSERS"):
            $TagsOpen["nusers"] = 1;
            ?>
            nusers:
            <?
            if ($itemcount>0){
                $sqlfields=$sqlfields.", nusers";
            }else{
                $sqlfields=$sqlfields."nusers";
            }
            $itemcount+=1;
           
            break;
        case($name = "FOUNDER_NAME"):
            $TagsOpen["founder_name"] = 1;
            $gottofoundername=0;
            ?>
            founder:
            <?
            if ($itemcount>0){
                $sqlfields=$sqlfields.", founder_name";
            }else{
                $sqlfields=$sqlfields."founder_name";
            }
            $itemcount+=1;
            break;
        case($name = "URL"):
            $TagsOpen["url"] = 1;
            if ($useropen==0){
            ?>
            url:
            <?
            if ($itemcount>0){
                $sqlfields=$sqlfields.", url";
            }else{
                $sqlfields=$sqlfields."url";
            }
            $itemcount+=1;
            }
            break;
        case($name = "DESCRIPTION"):
            $TagsOpen["description"] = 1;
            ?>
            desc:
            <?
            $itemcount+=1;
           
            break;
        case($name = "CREATE_TIME"):
            $TagsOpen["create_time"] = 1;
            if ($useropen==0){
            ?>
            desc:
            <?
            if ($itemcount>0){
                $sqlfields=$sqlfields.", create_time";
            }else{
                $sqlfields=$sqlfields."create_time";
            }
            $itemcount+=1;
            }
            break;
        case($name = "TYPE"):
            $TagsOpen["type"] = 1;
            if ($useropen==0){
            ?>
            type:
            <?
            if ($itemcount>0){
                $sqlfields=$sqlfields.", type";
            }else{
                $sqlfields=$sqlfields."type";
            }
            $itemcount+=1;
            }
            break;
    }
}

function endElement($parser, $name) {
    global $TagsOpen, $counter, $sql, $itemcount, $itemcount2, $itemsclosed, $sqlfields, $sqldata, $gottocountry, $updateproject, $useropen, $gottoname, $gottofoundername;
    switch($name) {
        case($name = "TEAMS"):
            $TagsOpen["teams"] = 0;
            break;
        case($name = "USER"):
            $TagsOpen["user"] = 0;
            //echo " user closed ";
            $useropen=0;
            break;
        case($name = "TEAM"):
            $TagsOpen["team"] = 0;
            //echo $sqldata."<br><br>";
            $sqldata=str_replace("<","&lt;",$sqldata);
            //$sqldata=str_replace("\"","'",$sqldata);
            //echo $sqldata."<br>";
            $sql=$sql.$sqlfields.",project) VALUES (".$sqldata.", \"".$updateproject."\")";
           
            //echo "<p>sql: <code>".$sql."</code><br>items:".$itemcount." items2:".$itemcount2." closed: ".$itemsclosed."</p>";
            mysql_query("$sql") or die (mysql_error());
            break;
        case($name = "ID"):
            $TagsOpen["id"] = 0;
            if ($useropen==0){
            $itemsclosed+=1;
            }
            break;
        case($name = "NAME");
            $TagsOpen["name"] = 0;
            if ($useropen==0){
            if ($gottoname==0){
                $sqldata=$sqldata.", \"(Unknown)";
                $gottoname=0;
            }
            $itemsclosed+=1;
           
            $sqldata=$sqldata."\"";
            $itemcount2=$itemcount;
            }
            break;
        case($name = "COUNTRY"):
            $TagsOpen["country"] = 0;
            if ($useropen==0){
            if ($gottocountry==0){
                $sqldata=$sqldata.", \"International";
                $gottocountry=0;
            }
           
            $sqldata=$sqldata."\"";
           
            $itemcount2=$itemcount;
            //echo "closed ".$gottocountry;
            }
            break;
        case($name = "CREATE_TIME"):
            $TagsOpen["create_time"] = 0;
            if ($useropen==0){
            $itemsclosed+=1;
            }
            break;
        case($name = "TOTAL_CREDIT"):
            $TagsOpen["total_credit"] = 0;
            if ($useropen==0){
            $itemsclosed+=1;
            }
            break;
        case($name = "EXPAVG_CREDIT"):
            $TagsOpen["expavg_credit"] = 0;
            if ($useropen==0){
            $itemsclosed+=1;
            }
            break;
        case($name = "EXPAVG_TIME"):
            $TagsOpen["expavg_time"] = 0;
            if ($useropen==0){
            $itemsclosed+=1;
            }
            break;
        case($name = "CPID"):
            $TagsOpen["cpid"] = 0;
            if ($useropen==0){
            $itemsclosed+=1;
            }
            break;
        case($name = "USERID"):
            $TagsOpen["userid"] = 0;
            $itemsclosed+=1;
            break;
        case($name = "NUSERS"):
            $TagsOpen["nusers"] = 0;
            $itemsclosed+=1;
            break;
        case($name = "FOUNDER_NAME"):
            $TagsOpen["founder_name"] = 0;
            $itemsclosed+=1;
            if ($gottofoundername==0){
                $sqldata=$sqldata.", \"(Unknown)";
                $gottofoundername=0;
            }
            $sqldata=$sqldata."\"";
            $itemcount2=$itemcount;
            break;
        case($name = "URL"):
            $TagsOpen["url"] = 0;
            if ($useropen==0){
            $itemsclosed+=1;
            $sqldata=$sqldata."\"";
            $itemcount2=$itemcount;
            }
            break;
        case($name = "DESCRIPTION"):
            $TagsOpen["description"] = 0;
            $itemsclosed+=1;
            //$sqldata=$sqldata."\"";
            $itemcount2=$itemcount;
            break;
        case($name = "CREATE_TIME"):
            $TagsOpen["create_time"] = 0;
            if ($useropen==0){
            $itemsclosed+=1;
            }
            break;
        case($name = "TYPE"):
            $TagsOpen["type"] = 0;
            if ($useropen==0){
            $itemsclosed+=1;
            }
            break;
    }
}

function characterData($parser, $data) {
    global $TagsOpen, $counter, $sql, $itemcount, $itemcount2, $itemsclosed, $sqlfields, $sqldata, $gottocountry, $useropen, $gottoname, $gottofoundername;
    switch($TagsOpen) {
        case($TagsOpen["id"] == 1):
           
            if ($useropen==0){
            //echo " $data<br>";
            if ($itemcount2>0){
                $sqldata=$sqldata.", ".$data;
            }else{
                $sqldata=$sqldata.$data;
            }
           
            $itemcount2+=1;
            }
            break;
        case($TagsOpen["name"] == 1):
            if ($useropen==0){
            $data2=str_replace("\"","'",$data);
            $data2=str_replace("<","",$data2);
            $data2=str_replace(">","",$data2);
            $data2=str_replace("a href","",$data2);
            $data2=str_replace("A HREF","",$data2);
            $data2=str_replace("img src","",$data2);
            $data2=str_replace("IMG SRC","",$data2);
            $data2=str_replace("\\","",$data2);
            $gottoname=1;
            //echo "$data2<br>";
            if ($itemcount2<$itemcount){
                if ($itemcount2>0){
                    $sqldata=$sqldata.", \"".$data2;
                }else{
                    $sqldata=$sqldata."\"".$data2;
                }
                $itemcount2+=1;
            }else{
                $sqldata=$sqldata.$data2;
                $itemcount2+=1;
            }
            }
            break;
        case($TagsOpen["create_time"] == 1):
            if ($useropen==0){
            //echo "$data<br>";
            if ($itemcount2>0){
                $sqldata=$sqldata.", FROM_UNIXTIME(".$data.")";
            }else{
                $sqldata=$sqldata."FROM_UNIXTIME(".$data.")";
            }
            $itemcount2+=1;
            }
            break;
        case($TagsOpen["user"] == 1):
            //echo "$data<br>";
            //if ($itemcount2>0){
            //    $sqldata=$sqldata.", FROM_UNIXTIME(".$data.")";
            //}else{
            //    $sqldata=$sqldata."FROM_UNIXTIME(".$data.")";
            //}
            //$itemcount2+=1;
            break;
        case($TagsOpen["country"] == 1):
            if ($useropen==0){
            $gottocountry=1;
            //echo "$data ";//.$gottocountry."<br>";
           
            if ($itemcount2<$itemcount){
               
                if ($itemcount2>0){
                    $sqldata=$sqldata.", \"".$data;
                }else{
                    $sqldata=$sqldata."\"".$data;
                }
               
                $itemcount2+=1;
            }else{
                $sqldata=$sqldata.$data;
                $itemcount2+=1;
            }
            }
            break;
        case($TagsOpen["total_credit"] == 1):
            if ($useropen==0){
            //echo "$data<br>";
            if ($itemcount2>0){
                $sqldata=$sqldata.", ".$data;
            }else{
                $sqldata=$sqldata.$data;
            }
            $itemcount2+=1;
            }
            break;
        case($TagsOpen["expavg_credit"] == 1):
            if ($useropen==0){
            //echo "$data<br>";
            if ($itemcount2>0){
                $sqldata=$sqldata.", ".$data;
            }else{
                $sqldata=$sqldata.$data;
            }
            $itemcount2+=1;
            }
            break;
        case($TagsOpen["expavg_time"] == 1):
            if ($useropen==0){
            //echo "$data<br>";
            }
            break;
        case($TagsOpen["cpid"] == 1):
            if ($useropen==0){
            //echo "$data<br>";
            if ($itemcount2>0){
                $sqldata=$sqldata.", \"".$data."'";
            }else{
                $sqldata=$sqldata."\"".$data."'";
            }
            $itemcount2+=1;
            }
            break;
        case($TagsOpen["userid"] == 1):
            if ($useropen==0){
            //echo "$data<br>";
            if ($itemcount2>0){
                $sqldata=$sqldata.", ".$data;
            }else{
                $sqldata=$sqldata.$data;
            }
            $itemcount2+=1;
            }
            break;
        case($TagsOpen["nusers"] == 1):
            if ($useropen==0){
            //echo "$data<br>";
            if ($itemcount2>0){
                $sqldata=$sqldata.", ".$data;
            }else{
                $sqldata=$sqldata.$data;
            }
            $itemcount2+=1;
            }
            break;
        case($TagsOpen["founder_name"] == 1):
            if ($useropen==0){
            $gottofoundername=1;
            $data2=str_replace("\"","",$data);
            $data2=str_replace("<","",$data2);
            $data2=str_replace(">","",$data2);
            $data2=str_replace("a href","",$data2);
            $data2=str_replace("A HREF","",$data2);
            $data2=str_replace("img src","",$data2);
            $data2=str_replace("IMG SRC","",$data2);
            $data2=str_replace("\\","",$data2);
            //echo "$data2<br>";
            if ($itemcount2<$itemcount){
                if ($itemcount2>0){
                    $sqldata=$sqldata.", \"".$data2;
                }else{
                    $sqldata=$sqldata."\"".$data2;
                }
                $itemcount2+=1;
            }else{
                $sqldata=$sqldata.$data2;
                $itemcount2+=1;
            }
            }
            break;
        case($TagsOpen["url"] == 1):
            if ($useropen==0){
            $data2=str_replace("\"","",$data);
            $data2=str_replace("<","",$data2);
            $data2=str_replace(">","",$data2);
            $data2=str_replace("a href","",$data2);
            $data2=str_replace("A HREF","",$data2);
            $data2=str_replace("img src","",$data2);
            $data2=str_replace("IMG SRC","",$data2);
            $data2=str_replace("\\","",$data2);
            //echo "$data2<br>";
            if ($itemcount2<$itemcount){
                if ($itemcount2>0){
                    $sqldata=$sqldata.", \"".$data2;
                }else{
                    $sqldata=$sqldata."\"".$data2;
                }
                $itemcount2+=1;
            }else{
                $sqldata=$sqldata.$data2;
                $itemcount2+=1;
            }
            }
            break;
        case($TagsOpen["description"] == 1):
            if ($useropen==0){
            $data2=str_replace("\"","",$data);
            $data2=str_replace("<","",$data2);
            $data2=str_replace(">","",$data2);
            $data2=str_replace("a href","",$data2);
            $data2=str_replace("A HREF","",$data2);
            $data2=str_replace("img src","",$data2);
            $data2=str_replace("IMG SRC","",$data2);
            $data2=str_replace("\\","",$data2);
            //echo "$data2<br>";
            }
            break;
        case($TagsOpen["create_time"] == 1):
            if ($useropen==0){
            //echo "$data<br>";
            if ($itemcount2>0){
                $sqldata=$sqldata.", ".$data;
            }else{
                $sqldata=$sqldata.$data;
            }
            $itemcount2+=1;
            }
            break;
        case($TagsOpen["type"] == 1):
           
            if ($useropen==0){
            //echo "$data<br>";
            if ($itemcount2>0){
                $sqldata=$sqldata.", ".$data;
            }else{
                $sqldata=$sqldata.$data;
            }
            $itemcount2+=1;
            }
            break;
    }
}

function load_data($file) {   
    $fh = fopen($file, "r") or die ("<P>COULD NOT OPEN FILE!");
    $data = fread($fh, filesize($file));
    return $data;
}

$TagsOpen = array( 
            "teams" => 0,
            "team" => 0,
            "id" => 0,
            "name" => 0,
            "country" => 0,
            "create_time" => 0,
            "expavg_credit" => 0,
            "expavg_time" => 0,
            "cpid" => 0,
            "userid" => 0,
            "total_credit" => 0,
            "nusers" => 0,
            "founder_name" => 0,
            "create_time" => 0,
            "url" => 0,
            "description" => 0,
            "type" => 0,
            "user" => 0
            );

$counter = 1;






file_ungzip("h:/boincstats-xml/".$updateproject."/23-07-2005/".$teamname, "h:/boincstats-xml/".$updateproject."/23-07-2005/team.xml");
$file = "h:/boincstats-xml/".$updateproject."/23-07-2005/team.xml";
$xml_parser = xml_parser_create();
xml_parser_set_option($xml_parser, XML_OPTION_CASE_FOLDING, true);
xml_set_element_handler($xml_parser, "startElement", "endElement");
xml_set_character_data_handler($xml_parser, "characterData");
xml_parse($xml_parser, load_data($file)) or die ("<P>Fejl ved parsing af XML!");
xml_parser_free($xml_parser);

// PURE INSERTIONS
$totalprojectcredit=0;
$totalprojectteams=0;

$sql = "SELECT teamid, type, name, userid, total_credit, expavg_credit, nusers, founder_name, create_time, url, country FROM xml_teams_temp WHERE project = '".$updateproject."'";


$status=mysql_query("$sql") or die (mysql_error());
while ($row = mysql_fetch_array($status)){
    echo "part one - /// ".$row['teamid']." /// ";
    // TEAM LIST
    $count=0;
   
    $sql2 = "SELECT type FROM xml_teams_list WHERE (project = '".$updateproject."') AND (teamid = ".$row['teamid'].")";
   
    $status2=mysql_query("$sql2") or die (mysql_error());
    while ($row2 = mysql_fetch_array($status2)){
   
        //$sql3 = "UPDATE xml_teams_list SET type = ".$row['type'].", name = \"".str_replace("'","\'",$row['name'])."\", userid = ".$row['userid'].", founder_name = \"".$row['founder_name']."\", url = \"".$row['url']."\", country = \"".$row['country']."\", create_time = \"".$row['create_time']."\" WHERE (teamid = ".$row['teamid'].") AND (project = \"".$updateproject."\")";
       
        //echo "opdaterer ".$row['teamid']."<br>";
        $count+=1;
        $totalprojectteams+=1;
   
    }
    if ($count<>1){
        $sql3= "INSERT INTO xml_teams_list (teamid, type, name, userid, founder_name, create_time, url, country, added, project) VALUES (".$row['teamid'].", ".$row['type'].", \"".str_replace("'","\'",$row['name'])."\", ".$row['userid'].", \"".$row['founder_name']."\", \"".$row['create_time']."\", \"".$row['url']."\", \"".$row['country']."\", ".date("Ymd", $yesterday).", \"".$updateproject."\")";
        $totalprojectteams+=1;
        //echo "opretter ".$row['teamid']."<br>";
        mysql_query($sql3) or die (mysql_error());
    }
   
   
    // TOTAL CREDIT
   
    $totalcredit=$row['total_credit'];
    $sql3 = "INSERT INTO xml_teams_totalcredit (dato, total_credit, teamid, project) VALUES (".date("Ymd", $yesterday).", ".$row['total_credit'].", ".$row['teamid'].", '".$updateproject."')";
    $totalprojectcredit+=$row['total_credit'];
    //echo "- tilføjer credit<br>";
    mysql_query("$sql3") or die (mysql_error());
   
    // RAC
    $teamrac=$row['expavg_credit'];
    $sql3 = "INSERT INTO xml_teams_rac (dato, rac, teamid, project) VALUES (".date("Ymd", $yesterday).", ".$row['expavg_credit'].", ".$row['teamid'].", '".$updateproject."')";
    //echo "- tilføjer rac<br>";
    mysql_query("$sql3") or die (mysql_error());
   
    // NUSERS
    $sql3 = "INSERT INTO xml_teams_nusers (dato, nusers, teamid, project) VALUES (".date("Ymd", $yesterday).", ".$row['nusers'].", ".$row['teamid'].", '".$updateproject."')";
    //echo "- tilføjer nusers<br>";
    mysql_query("$sql3") or die (mysql_error());
   
    // 122 AVERAGE RAC
    //$daycount=0;
    //$racsum=0;
    //$sql4 = "SELECT * FROM xml_teams_rac WHERE (teamid = ".$row['teamid'].") AND (project = '".$updateproject."') ORDER BY dato DESC LIMIT 122";
   
    //$status4=mysql_query("$sql4") or die (mysql_error());
    //while ($row4 = mysql_fetch_array($status4)){
   
    //    $racsum+=$row4['rac'];
    //    $daycount+=1;
   
    //}
    //$avgrac=$racsum/$daycount;
    //$sql3 = "UPDATE xml_teams_rac SET avg_rac = ".$avgrac." WHERE (teamid= ".$row['teamid'].") AND (dato = ".date("Ymd", $yesterday).") AND (project= '".$updateproject."')";
    //echo "- tilføjer avg rac<br>";
    //mysql_query("$sql3") or die (mysql_error());
   
    // CREDIT DAY
    $daycount=Array(2);
    $x=0;
    $daytotal[0]=0;
    $daytotal[1]=0;
    $sql4 = "SELECT total_credit FROM xml_teams_totalcredit WHERE (project = '".$updateproject."') AND (teamid = ".$row['teamid'].") ORDER BY dato DESC LIMIT 2";
   
    $status4=mysql_query("$sql4") or die (mysql_error());
    while ($row4 = mysql_fetch_array($status4)){
   
        $daytotal[$x]=$row4['total_credit'];
        $x+=1;
        //echo "credit at ".$row4['dato'].": ".$row4['total_credit']."<br>";
   
    }
    $daycredit=$daytotal[0]-$daytotal[1];
    //echo "credit day: ".$daytotal[0]."-".$daytotal[1]."= ".$daycredit."<br>";
    $sql3 = "INSERT INTO xml_teams_credit_day (dato, credit_day, teamid, project) VALUES (".date("Ymd", $yesterday).", ".$daycredit.", ".$row['teamid'].", '".$updateproject."')";
    //echo $sql3."<br>";
    //echo "- tilføjer credit day<br>";
    mysql_query("$sql3") or die (mysql_error());
   
    // CREDIT WEEK
    $year = date("Y",$yesterday);
    $month = date("m",$yesterday);
    $day = date("D",$yesterday);
    $daydate = date("d",$yesterday);
    //echo $month." ".$day." ".$daydate."<br>";
    $monadd=6;
    $tueadd=5;
    $wedadd=4;
    $thuadd=3;
    $friadd=2;
    $satadd=1;
    $sunadd=0;
    if ($day=="Mon"){
        $toweekend=$monadd;
    }else{
        if ($day=="Tue"){
            $toweekend=$tueadd;
        }else{
            if ($day=="Wed"){
                $toweekend=$wedadd;
            }else{
                if ($day=="Thu"){
                    $toweekend=$thuadd;
                }else{
                    if ($day=="Fri"){
                        $toweekend=$friadd;
                    }else{
                        if ($day=="Sat"){
                            $toweekend=$satadd;
                        }else{
                            $toweekend=0;
                        }
                    }
                }
            }
        }
    }
    $weekend=mktime(0, 0, 0, date("m",$yesterday)  , date("d",$yesterday)+$toweekend, date("Y",$yesterday));
   
   
    if ($day<>"Mon"){
        $weekcount=0;
        $sql4 = "SELECT credit_week FROM xml_teams_credit_week WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $weekend).") AND (teamid = ".$row['teamid'].") ORDER BY dato DESC";
       
        $status4=mysql_query("$sql4") or die (mysql_error());
        while ($row4 = mysql_fetch_array($status4)){
   
            $weektotal=$row4['credit_week'];
            $weekcount+=1;
   
        }
        $weektotal2=$weektotal+$daycredit;
        //echo "this week yesterday: ".$weektotal." credit today: ".$daycredit." new week total: ".$weektotal2."<br>";
        if ($weekcount>0){
            $sql3 = "UPDATE xml_teams_credit_week SET credit_week = ".$weektotal2." WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $weekend).") AND (teamid = ".$row['teamid'].")";
            //echo $sql3."<br>";
            //echo "add to current week<br>";
        }else{
            $sql3 = "INSERT INTO xml_teams_credit_week (credit_week, dato, teamid, project) VALUES (".$daycredit.", ".date("Ymd", $weekend).", ".$row['teamid'].", '".$updateproject."')";
            //echo $sql3."<br>";
            //echo "start new week<br>";
        }
        //echo "current week ends ".date("d D m Y",$weekend)."<br>";
    }else{
        //echo "this week yesterday: ".$weektotal." credit today: ".$daycredit." new week total: ".$daycredit."<br>";
        $sql3 = "INSERT INTO xml_teams_credit_week (credit_week, dato, teamid, project) VALUES (".$daycredit.", ".date("Ymd", $weekend).", ".$row['teamid'].", '".$updateproject."')";
        //echo $sql3."<br>";
        //echo "start new week<br>";
        //echo "new week ends ".date("d D m Y",$weekend)."<br>";
    }
    //echo "- tilføjer credit week<br>";
    mysql_query("$sql3") or die (mysql_error());
   
    // CREDIT MONTH
   
    $thismonth1=date("M",$yesterday);
    $thismonth=mktime(0, 0, 0, date("m",$yesterday)  , 1, date("Y",$yesterday));
    if ($daydate<>1){
        $monthcount=0;
        $sql4 = "SELECT credit_month FROM xml_teams_credit_month WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $thismonth).") AND (teamid = ".$row['teamid'].") ORDER BY dato DESC";
       
        $status4=mysql_query("$sql4") or die (mysql_error());
        while ($row4 = mysql_fetch_array($status4)){
   
            $monthtotal=$row4['credit_month'];
            $monthcount+=1;
   
        }
        $monthtotal2=$monthtotal+$daycredit;
        //echo "this month yesterday: ".$monthtotal." credit today: ".$daycredit." new month total: ".$monthtotal2."<br>";
        if ($monthcount>0){
            $sql3 = "UPDATE xml_teams_credit_month SET credit_month = ".$monthtotal2." WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $thismonth).") AND (teamid = ".$row['teamid'].")";
        //    echo $sql3."<br>";
        //    echo "add to current month<br>";
        }else{
            $sql3 = "INSERT INTO xml_teams_credit_month (credit_month, dato, teamid, project) VALUES (".$daycredit.", ".date("Ymd", $thismonth).", ".$row['teamid'].", '".$updateproject."')";
        //    echo $sql3."<br>";
        //    echo "start new month<br>";
        }
       
    }else{
        //echo "this month yesterday: ".$monthtotal." credit today: ".$daycredit." new month total: ".$daycredit."<br>";
        $sql3 = "INSERT INTO xml_teams_credit_month (credit_month, dato, teamid, project) VALUES (".$daycredit.", ".date("Ymd", $thismonth).", ".$row['teamid'].", '".$updateproject."')";
        //echo $sql3."<br>";
        //echo "start new month<br>";
        //echo "new week ends ".date("d D m Y",$weekend)."<br>";
    }
    //echo $thismonth1." ".date("dmY",$thismonth)."<br>";
    //echo "- tilføjer credit month<br>";
    mysql_query("$sql3") or die (mysql_error());
   
   
   
   
    // REMOVE CREDIT DAY (ONLY WHEN NEWLY ADDED OLDER PROJECT)
    // REMOVE CREDIT DAY (ONLY WHEN NEWLY ADDED OLDER PROJECT)
    // REMOVE CREDIT DAY (ONLY WHEN NEWLY ADDED OLDER PROJECT)
    // REMOVE CREDIT DAY (ONLY WHEN NEWLY ADDED OLDER PROJECT)
    //if ($row['teamid']<>34){
    //    $sql3 = "UPDATE xml_teams_credit_day SET credit_day = 0 WHERE (teamid = ".$row['teamid'].") AND (dato = ".date("Ymd", $yesterday).") AND (project = '".$updateproject."')";
    //    mysql_query("$sql3") or die (mysql_error());
    //}
   
   
   
   
   
   
   
    // AVERAGE DAY
    $creditsum=0;
    $daycountavg=0;
    $creditsum2=0;
    $daycount2=0;
    $creditsum3=0;
    $daycount3=0;
   
    $sql4 = "SELECT credit_day FROM xml_teams_credit_day WHERE (project = '".$updateproject."') AND (teamid = ".$row['teamid'].") ORDER BY dato DESC LIMIT 0, 122";
    //echo $sql4."<br>";
    $status4=mysql_query("$sql4") or die (mysql_error());
    while ($row4 = mysql_fetch_array($status4)){
   
       
        $daycountavg=$daycountavg+1;
       
       
       
       
        if ($daycountavg<31){
            if ($daycountavg<8){
                $daycount2=$daycount2+1;
                $creditsum2=$creditsum2+$row4['credit_day'];
            }
            $daycount3=$daycount3+1;
            $creditsum3=$creditsum3+$row4['credit_day'];
        }
       
        $creditsum=$creditsum+$row4['credit_day'];
        $lastrow=$row4['credit_day'];
        //echo $creditsum." ".$row4['credit_day']." ";
       
   
    }
   
    if ($daycountavg>0){
        $avgday=$creditsum/($daycountavg);
    }else{
        $avgday=0;
    }
    if ($daycount2>0){
        $avgday7=$creditsum2/($daycount2);
    }else{
        $avgday7=0;
    }
    if ($daycount3>0){
        $avgday30=$creditsum3/($daycount3);
    }else{
        $avgday30=0;
    }
    $average7=$avgday7;
    $average122=$avgday;
    $sql3 = "INSERT INTO xml_teams_average (dato, average, teamid, project) VALUES (".date("Ymd", $yesterday).", ".$avgday.", ".$row['teamid'].", '".$updateproject."')";
    //echo $sql3."<br>";
    //echo "- tilføjer avg day<br>";
    mysql_query("$sql3") or die (mysql_error());
   
    // NUSERS CHANGE
    $daycount=Array(2);
    $x=0;
    $sql4 = "SELECT nusers FROM xml_teams_nusers WHERE (project = '".$updateproject."') AND (teamid = ".$row['teamid'].") ORDER BY dato DESC LIMIT 2";
   
    $status4=mysql_query("$sql4") or die (mysql_error());
    while ($row4 = mysql_fetch_array($status4)){
   
        $usertotal[$x]=$row4['nusers'];
        $x+=1;
   
    }
    $dayuser=$usertotal[0]-$usertotal[1];
    //echo $dayuser." - 0: ",$usertotal[0]." - 1: ".$usertotal[1]."<br>";
    $sql3 = "UPDATE xml_teams_nusers SET changed = ".$dayuser." WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $yesterday).") AND (teamid = ".$row['teamid'].")";
    //echo $sql3."<br>";
    //echo "- tilføjer nusers day<br>";
    mysql_query("$sql3") or die (mysql_error());
   
   
   
    // FLOPS
    //$sql4 = "SELECT * FROM xml_teams_average WHERE (teamid = ".$row['teamid'].") AND (dato = ".date("Ymd", $yesterday).") AND (project = '".$updateproject."')";
    //echo $sql4."<br>";
    //$status4=mysql_query("$sql4") or die (mysql_error());
    //while ($row4 = mysql_fetch_array($status4)){
   
        $gflops=$average122/100;
       
   
    //}
    $sql3 = "INSERT INTO xml_teams_flops (gflops, dato, teamid, project) VALUES (".$gflops.", ".date("Ymd", $yesterday).", ".$row['teamid'].", '".$updateproject."')";
    //echo $sql3."<br>";
    //echo "- tilføjer flops<br>";
    mysql_query("$sql3") or die (mysql_error());
   
    // AVERAGE DAY 7
    //$creditsum=0;
    //$creditsum2=0;
    //$daycount=0;
    //$daycount2=0;
   
    //$sql4 = "SELECT * FROM xml_teams_credit_day WHERE (teamid = ".$row['teamid'].") AND (project = '".$updateproject."') ORDER BY dato DESC LIMIT 0, 30";
    //echo $sql4."<br>";
    //$status4=mysql_query("$sql4") or die (mysql_error());
    //while ($row4 = mysql_fetch_array($status4)){
   
       
    //    $daycount=$daycount+1;
    //    $daycount2=$daycount2+1;
       
    //    if (daycount2<8){
    //        $creditsum2=$creditsum2+$row4['credit_day'];
    //    }
    //    $creditsum=$creditsum+$row4['credit_day'];
    //    $lastrow=$row4['credit_day'];
        //echo $creditsum." ".$row4['credit_day']." ";
       
   
    //}
   
   
    $sql3 = "INSERT INTO xml_teams_average_7 (dato, avg7, avg30, teamid, project) VALUES (".date("Ymd", $yesterday).", ".$avgday7.", ".$avgday30.", ".$row['teamid'].", '".$updateproject."')";
    //echo $sql3."<br>";
    //echo "- tilføjer avg day<br>";
    mysql_query("$sql3") or die (mysql_error());
   
    // AVERAGE DAY 30
    //$creditsum=0;
    //$daycount=0;
   
    //$sql4 = "SELECT * FROM xml_teams_credit_day WHERE (teamid = ".$row['teamid'].") AND (project = '".$updateproject."') ORDER BY dato DESC LIMIT 0, 30";
    //echo $sql4."<br>";
    //$status4=mysql_query("$sql4") or die (mysql_error());
    //while ($row4 = mysql_fetch_array($status4)){
   
       
        //$daycount=$daycount+1;
       
        //$creditsum=$creditsum+$row4['credit_day'];
        //$lastrow=$row4['credit_day'];
        //echo $creditsum." ".$row4['credit_day']." ";
       
   
    //}
   
   
    //$sql3 = "UPDATE xml_teams_average_7 SET avg30 = ".$avgday30." WHERE (dato = ".date("Ymd", $yesterday).") AND (teamid = ".$row['teamid'].") AND (project = '".$updateproject."')";
    //echo $sql3."<br>";
    //echo "- tilføjer avg day 7 & 30<br>";
    //mysql_query("$sql3") or die (mysql_error());
   
    // YEARS TOTAL
    $yearstotal=((((($totalcredit*1728000)/(1000+1000))/60)/60)/24)/365;
    //echo "total ".$yearstotal;
   
    // YEARS DAILY
    $yearsdaily=(((((($daycredit)*1728000)/(1000+1000))/60)/60)/24)/365;
    //echo " daily ".$yearsdaily;
   
    // YEARS AVERAGE
    $yearsavg=((((((($average122)*1728000)/(1000+1000))/60)/60)/24)/365);
    //echo " avg ".$yearsdaily."<br>";
   
    $sql3 = "INSERT INTO xml_teams_years (dato, total, day, average, teamid, project) VALUES (".date("Ymd", $yesterday).", ".$yearstotal.", ".$yearsdaily.", ".$yearsavg.", ".$row['teamid'].", '".$updateproject."')";
    //echo $sql3."<br>";
    //echo "- tilføjer years total, daily & avg<br>";
    mysql_query("$sql3") or die (mysql_error());
   
    //CREATE FORECAST TEMP
    //echo "total ".$totalcredit[$row3['teamid']];
    //echo " rac ".$teamrac[$row3['teamid']];
    //echo " avg122 ".$average122[$row3['teamid']];
    //echo " avg7 ".$average7[$row3['teamid']]."<br>";
    $pred_t_122 = $totalcredit + $average122;
    $pred_7_122 = $totalcredit + ($average122 * 7);
    $pred_30_122 = $totalcredit + ($average122 * 30);
    $pred_t_7 = $totalcredit + $average7;
    $pred_7_7 = $totalcredit + ($average7 * 7);
    $pred_30_7 = $totalcredit + ($average7 * 30);
    $pred_t_rac = $totalcredit + $teamrac;
    $pred_7_rac = $totalcredit + ($teamrac * 7);
    $pred_30_rac = $totalcredit + ($teamrac * 30);
   
    //echo "predictions by avg122 : tomorrow: ".$pred_t_122." in 7 days: ".$pred_7_122." in 30 days: ".$pred_30_122."<br>";
    //echo "predictions by avg7 : tomorrow: ".$pred_t_7." in 7 days: ".$pred_7_7." in 30 days: ".$pred_30_7."<br>";
    //echo "predictions by rac : tomorrow: ".$pred_t_rac." in 7 days: ".$pred_7_rac." in 30 days: ".$pred_30_rac."<br>";
   
    $sql5 = "INSERT INTO xml_teams_forecast_temp (dato, tomorrow122, tomorrow7, tomorrowrac, seven122, seven7, sevenrac, thirty122, thirty7, thirtyrac, teamid, project) VALUES (".date("Ymd", $yesterday).", ".$pred_t_122.", ".$pred_t_7.", ".$pred_t_rac.", ".$pred_7_122.", ".$pred_7_7.", ".$pred_7_rac.", ".$pred_30_122.", ".$pred_30_7.", ".$pred_30_rac.", ".$row['teamid'].", '".$updateproject."')";
    //echo $sql5."<br>";
   
    //echo "- genererer temp predictions for ".$row3['teamid']."<br>";
    mysql_query("$sql5") or die (mysql_error());
   
}
// WORLD RANK CREDIT
$sql4 = "SELECT teamid FROM xml_teams_totalcredit WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $yesterday).") ORDER BY total_credit DESC";
$totalcreditrank=0;

$status4=mysql_query("$sql4") or die (mysql_error());
while ($row4 = mysql_fetch_array($status4)){
   
    $totalcreditrank+=1;
    echo "part two - /// ".$totalcreditrank." /// ";
    //echo $row4['teamid']." is ranked at ".$totalcreditrank." as a result of having ".$row4['total_credit']." credits<br>";
    $sql3 = "INSERT INTO xml_teams_worldrank (worldrank, dato, teamid, project) VALUES (".$totalcreditrank.", ".date("Ymd", $yesterday).", ".$row4['teamid'].", '".$updateproject."')";
    //echo $sql3."<br>";
   
    //echo "- tilføjer total credit world rank for ".$row4['teamid']."<br>";
    mysql_query("$sql3") or die (mysql_error());
   
}

// get amount of teams
$result9=mysql_query("SELECT Count(id) AS Antal FROM xml_teams_list WHERE project = '".$updateproject."'");
$row9 = mysql_fetch_assoc($result9);
$teamcount = $row9['Antal'];
echo "<br>".$teamcount."<br>";
       
       

$sql3 = "SELECT teamid FROM xml_teams_list WHERE project = '".$updateproject."'";


$status3=mysql_query("$sql3") or die (mysql_error());
while ($row3 = mysql_fetch_array($status3)){
    echo "part three - /// ".$row3['teamid']." /// ";
// WORLD RANK CREDIT CHANGE
    $dayrank=array(2);
    $dayrank[0]=0;
    $dayrank[1]=0;
    $x=0;
    $sql4 = "SELECT worldrank FROM xml_teams_worldrank WHERE (project = '".$updateproject."') AND (teamid = ".$row3['teamid'].") ORDER BY dato DESC LIMIT 2";
    //echo $sql4."<br>";
    $status4=mysql_query("$sql4") or die (mysql_error());
    while ($row4 = mysql_fetch_array($status4)){
   
        $dayrank[$x]=$row4['worldrank'];
        //echo "rank at ".$row4['dato'].": ".$dayrank[$x]."<br>";
        $x+=1;
   
    }
    $rankchange=$dayrank[1]-$dayrank[0];
    $sql5 = "UPDATE xml_teams_worldrank SET changed = ".$rankchange." WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $yesterday).") AND (teamid = ".$row3['teamid'].")";
    //echo $sql5."<br>";
    mysql_query("$sql5") or die (mysql_error());
    //echo "- tilføjer worldrank change for ".$row3['teamid']."<br>";
   
    // MORE THAN ALL
    $morethanall=(($teamcount-$dayrank[0])/$teamcount)*100;
    //echo $dayrank[0]." ".$teamcount." ".$morethanall."<br>";
    $sql5 = "INSERT INTO xml_teams_morethanall (morethan, dato, teamid, project) VALUES (".$morethanall.", ".date("Ymd", $yesterday).", ".$row3['teamid'].", '".$updateproject."')";
    //echo $sql5."<br>";
   
    //echo "- tilføjer more than all for ".$row3['teamid']."<br>";
    mysql_query("$sql5") or die (mysql_error());
   
   
   
}

// TEAM FORECASTS
$tomorrowdate=mktime(0, 0, 0, date("m")  , date("d"), date("Y"));
$sevendate=mktime(0, 0, 0, date("m")  , date("d")+6, date("Y"));
$thirtydate=mktime(0, 0, 0, date("m")  , date("d")+29, date("Y"));
$sql4 = "SELECT teamid FROM xml_teams_forecast_temp WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $yesterday).") ORDER BY tomorrow122 DESC";
$totalcreditrank=0;

$status4=mysql_query("$sql4") or die (mysql_error());
while ($row4 = mysql_fetch_array($status4)){
   
    $totalcreditrank+=1;
    echo "part four - /// ".$totalcreditrank." /// ";
    //echo $row4['teamid']." is predicted to rank at ".$totalcreditrank." as a result of having ".$row4['tomorrow122']." credits at date: ".date("Y-md-", $tomorrowdate)." (122)<br>";
    $teamidarray_t_122[$row4['teamid']]=$totalcreditrank;
   
    //$sql3 = "UPDATE xml_teams_worldrank SET forecast_t_a_122 =".$totalcreditrank." WHERE (project = '".$updateproject."') AND (teamid = ".$row4['teamid'].") AND (dato = ".date("Ymd", $yesterday).")";
    //echo $sql3."<br>";
   
    //echo "- tilføjer total credit world rank for ".$row4['teamid']."<br>";
    //mysql_query("$sql3") or die (mysql_error());
   
}
$sql4 = "SELECT teamid FROM xml_teams_forecast_temp WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $yesterday).") ORDER BY tomorrow7 DESC";
$totalcreditrank=0;

$status4=mysql_query("$sql4") or die (mysql_error());
while ($row4 = mysql_fetch_array($status4)){
   
    $totalcreditrank+=1;
    echo "part five - /// ".$totalcreditrank." /// ";
    //echo $row4['teamid']." is predicted to rank at ".$totalcreditrank." as a result of having ".$row4['tomorrow7']." credits at date: ".date("Y-m-d", $tomorrowdate)." (7)<br>";
    $teamidarray_t_7[$row4['teamid']]=$totalcreditrank;
   
    //$sql3 = "UPDATE xml_teams_worldrank SET forecast_t_a_7 =".$totalcreditrank." WHERE (project = '".$updateproject."') AND (teamid = ".$row4['teamid'].") AND (dato = ".date("Ymd", $yesterday).")";
    //$sql3 = "INSERT INTO xml_teams_worldrank (worldrank, dato, teamid, project) VALUES (".$totalcreditrank.", ".date("Ymd", $yesterday).", ".$row4['teamid'].", '".$updateproject."')";
    //echo $sql3."<br>";
   
    //echo "- tilføjer total credit world rank for ".$row4['teamid']."<br>";
    //mysql_query("$sql3") or die (mysql_error());
   
}
$sql4 = "SELECT teamid FROM xml_teams_forecast_temp WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $yesterday).") ORDER BY tomorrowrac DESC";
$totalcreditrank=0;

$status4=mysql_query("$sql4") or die (mysql_error());
while ($row4 = mysql_fetch_array($status4)){
   
    $totalcreditrank+=1;
    echo "part six - /// ".$totalcreditrank." /// ";
    //echo $row4['teamid']." is predicted to rank at ".$totalcreditrank." as a result of having ".$row4['tomorrowrac']." credits at date: ".date("Y-m-d", $tomorrowdate)." (rac)<br>";
    $teamidarray_t_rac[$row4['teamid']]=$totalcreditrank;
   
    //$sql3 = "UPDATE xml_teams_worldrank SET forecast_t_rac =".$totalcreditrank." WHERE (project = '".$updateproject."') AND (teamid = ".$row4['teamid'].") AND (dato = ".date("Ymd", $yesterday).")";
    //$sql3 = "INSERT INTO xml_teams_worldrank (worldrank, dato, teamid, project) VALUES (".$totalcreditrank.", ".date("Ymd", $yesterday).", ".$row4['teamid'].", '".$updateproject."')";
    //echo $sql3."<br>";
   
    //echo "- tilføjer total credit world rank for ".$row4['teamid']."<br>";
    //mysql_query("$sql3") or die (mysql_error());
   
}
$sql4 = "SELECT teamid FROM xml_teams_forecast_temp WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $yesterday).") ORDER BY seven122 DESC";
$totalcreditrank=0;

$status4=mysql_query("$sql4") or die (mysql_error());
while ($row4 = mysql_fetch_array($status4)){
   
    $totalcreditrank+=1;
    echo "part seven - /// ".$totalcreditrank." /// ";
    //echo $row4['teamid']." is predicted to rank at ".$totalcreditrank." as a result of having ".$row4['seven122']." credits at date: ".date("Y-m-d", $sevendate)." (122)<br>";
    $teamidarray_7_122[$row4['teamid']]=$totalcreditrank;
   
    //$sql3 = "UPDATE xml_teams_worldrank SET forecast_7_a_122 =".$totalcreditrank." WHERE (project = '".$updateproject."') AND (teamid = ".$row4['teamid'].") AND (dato = ".date("Ymd", $yesterday).")";
    //$sql3 = "INSERT INTO xml_teams_worldrank (worldrank, dato, teamid, project) VALUES (".$totalcreditrank.", ".date("Ymd", $yesterday).", ".$row4['teamid'].", '".$updateproject."')";
    //echo $sql3."<br>";
   
    //echo "- tilføjer total credit world rank for ".$row4['teamid']."<br>";
    //mysql_query("$sql3") or die (mysql_error());
   
}
$sql4 = "SELECT teamid FROM xml_teams_forecast_temp WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $yesterday).") ORDER BY seven7 DESC";
$totalcreditrank=0;

$status4=mysql_query("$sql4") or die (mysql_error());
while ($row4 = mysql_fetch_array($status4)){
   
    $totalcreditrank+=1;
    echo "part eight - /// ".$totalcreditrank." /// ";
    //echo $row4['teamid']." is predicted to rank at ".$totalcreditrank." as a result of having ".$row4['seven7']." credits at date: ".date("Y-m-d", $sevendate)." (7)<br>";
    $teamidarray_7_7[$row4['teamid']]=$totalcreditrank;
   
    //$sql3 = "UPDATE xml_teams_worldrank SET forecast_7_a_7 =".$totalcreditrank." WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $yesterday).") AND (teamid = ".$row4['teamid'].")";
    //$sql3 = "INSERT INTO xml_teams_worldrank (worldrank, dato, teamid, project) VALUES (".$totalcreditrank.", ".date("Ymd", $yesterday).", ".$row4['teamid'].", '".$updateproject."')";
    //echo $sql3."<br>";
   
    //echo "- tilføjer total credit world rank for ".$row4['teamid']."<br>";
    //mysql_query("$sql3") or die (mysql_error());
   
}
$sql4 = "SELECT teamid FROM xml_teams_forecast_temp WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $yesterday).") ORDER BY sevenrac DESC";
$totalcreditrank=0;

$status4=mysql_query("$sql4") or die (mysql_error());
while ($row4 = mysql_fetch_array($status4)){
   
    $totalcreditrank+=1;
    echo "part nine - /// ".$totalcreditrank." /// ";
    //echo $row4['teamid']." is predicted to rank at ".$totalcreditrank." as a result of having ".$row4['sevenrac']." credits at date: ".date("Y-m-d", $sevendate)." (rac)<br>";
    $teamidarray_7_rac[$row4['teamid']]=$totalcreditrank;
   
    //$sql3 = "UPDATE xml_teams_worldrank SET forecast_7_rac =".$totalcreditrank." WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $yesterday).") AND (teamid = ".$row4['teamid'].")";
    //$sql3 = "INSERT INTO xml_teams_worldrank (worldrank, dato, teamid, project) VALUES (".$totalcreditrank.", ".date("Ymd", $yesterday).", ".$row4['teamid'].", '".$updateproject."')";
    //echo $sql3."<br>";
   
    //echo "- tilføjer total credit world rank for ".$row4['teamid']."<br>";
    //mysql_query("$sql3") or die (mysql_error());
   
}
$sql4 = "SELECT teamid FROM xml_teams_forecast_temp WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $yesterday).") ORDER BY thirty122 DESC";
$totalcreditrank=0;

$status4=mysql_query("$sql4") or die (mysql_error());
while ($row4 = mysql_fetch_array($status4)){
   
    $totalcreditrank+=1;
    echo "part ten - /// ".$totalcreditrank." /// ";
    //echo $row4['teamid']." is predicted to rank at ".$totalcreditrank." as a result of having ".$row4['thirty122']." credits at date: ".date("Y-m-d", $thirtydate)." (122)<br>";
    $teamidarray_30_122[$row4['teamid']]=$totalcreditrank;
   
    //$sql3 = "UPDATE xml_teams_worldrank SET forecast_30_a_122 =".$totalcreditrank." WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $yesterday).") AND (teamid = ".$row4['teamid'].")";
    //$sql3 = "INSERT INTO xml_teams_worldrank (worldrank, dato, teamid, project) VALUES (".$totalcreditrank.", ".date("Ymd", $yesterday).", ".$row4['teamid'].", '".$updateproject."')";
    //echo $sql3."<br>";
   
    //echo "- tilføjer total credit world rank for ".$row4['teamid']."<br>";
    //mysql_query("$sql3") or die (mysql_error());
   
}
$sql4 = "SELECT teamid FROM xml_teams_forecast_temp WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $yesterday).") ORDER BY thirty7 DESC";
$totalcreditrank=0;

$status4=mysql_query("$sql4") or die (mysql_error());
while ($row4 = mysql_fetch_array($status4)){
   
    $totalcreditrank+=1;
    echo "part eleven - /// ".$totalcreditrank." /// ";
    //echo $row4['teamid']." is predicted to rank at ".$totalcreditrank." as a result of having ".$row4['thirty7']." credits at date: ".date("Y-m-d", $thirtydate)." (7)<br>";
    $teamidarray_30_7[$row4['teamid']]=$totalcreditrank;
   
    //$sql3 = "UPDATE xml_teams_worldrank SET forecast_30_a_7 =".$totalcreditrank." WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $yesterday).") AND (teamid = ".$row4['teamid'].")";
    //$sql3 = "INSERT INTO xml_teams_worldrank (worldrank, dato, teamid, project) VALUES (".$totalcreditrank.", ".date("Ymd", $yesterday).", ".$row4['teamid'].", '".$updateproject."')";
    //echo $sql3."<br>";
   
    //echo "- tilføjer total credit world rank for ".$row4['teamid']."<br>";
    //mysql_query("$sql3") or die (mysql_error());
   
}
$sql4 = "SELECT teamid FROM xml_teams_forecast_temp WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $yesterday).") ORDER BY thirtyrac DESC";
$totalcreditrank=0;

$status4=mysql_query("$sql4") or die (mysql_error());
while ($row4 = mysql_fetch_array($status4)){
   
    $totalcreditrank+=1;
    echo "part twelve - /// ".$totalcreditrank." /// ";
    //echo $row4['teamid']." is predicted to rank at ".$totalcreditrank." as a result of having ".$row4['thirtyrac']." credits at date: ".date("Y-m-d", $thirtydate)." (rac)<br>";
    $teamidarray_30_rac[$row4['teamid']]=$totalcreditrank;
   
    //$sql3 = "UPDATE xml_teams_worldrank SET forecast_30_rac =".$totalcreditrank." WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $yesterday).") AND (teamid = ".$row4['teamid'].")";
    //$sql3 = "INSERT INTO xml_teams_worldrank (worldrank, dato, teamid, project) VALUES (".$totalcreditrank.", ".date("Ymd", $yesterday).", ".$row4['teamid'].", '".$updateproject."')";
    //echo $sql3."<br>";
   
    //echo "- tilføjer total credit world rank for ".$row4['teamid']."<br>";
    //mysql_query("$sql3") or die (mysql_error());
   
}

echo $totalcreditrank."<br>";
//$x=0;
$sql4 = "SELECT * FROM xml_teams_forecast_temp WHERE (dato = ".date("Ymd", $yesterday).") AND (project = '".$updateproject."')";
$totalcreditrank=0;

$status4=mysql_query("$sql4") or die (mysql_error());
while ($row4 = mysql_fetch_array($status4)){
   
    //echo "(".$teamidarray_t_122[$x]." ".$teamidarray_t_7[$x]." ".$teamidarray_t_rac[$x]."/".$teamidarray_7_122[$x]." ".$teamidarray_7_7[$x]." ".$teamidarray_7_rac[$x]."/".$teamidarray_30_122[$x]." ".$teamidarray_30_7[$x]." ".$teamidarray_30_rac[$x].") - ";
    $sql5 = "UPDATE xml_teams_worldrank SET forecast_t_a_122 =".$teamidarray_t_122[$row4['teamid']].", forecast_t_a_7=".$teamidarray_t_7[$row4['teamid']].", forecast_t_rac=".$teamidarray_t_rac[$row4['teamid']].", forecast_7_a_122=".$teamidarray_7_122[$row4['teamid']].", forecast_7_a_7=".$teamidarray_7_7[$row4['teamid']].", forecast_7_rac=".$teamidarray_7_rac[$row4['teamid']].", forecast_30_a_122=".$teamidarray_30_122[$row4['teamid']].", forecast_30_a_7=".$teamidarray_30_7[$row4['teamid']].", forecast_30_rac=".$teamidarray_30_rac[$row4['teamid']]." WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $yesterday).") AND (teamid = ".$row4['teamid'].")";
    //echo $sql5."<br>";
   
    echo "- tilføjer rank predictions for ".$row4['teamid']."<br>";
    mysql_query("$sql5") or die (mysql_error());
}

//echo "<br>".$totalcreditrank."<br>";

$sql5 = "UPDATE xml_project_totals SET totalprojectcredit_team = ".$totalprojectcredit.", totalnumberteams = ".$totalprojectteams." WHERE (dato = ".date("Ymd", $yesterday).") AND (project = '".$updateproject."')";
    //echo $sql5."<br>";
   
    echo "- tilføjer team totals for project ".$updateproject."<br>";
    mysql_query("$sql5") or die (mysql_error());

mysql_query("UPDATE runtimes SET endtime = NOW() WHERE (stattype = 'teams') AND (project = '".$updateproject."')");

mysql_close() or die (mysql_error());
?>

Scriptet køres med 10 forskellige inddatafiler, hvoraf den største giver de 20000 - der er nemlig 20000 teams i den fil. De andre giver ikke lige så store problemer, de de har mellem 24 og 3000 teams. Efter dette script køres et tilsvarende script, der ikke har en fil som inddtata, men benytter xml_teams_temp i stedet, og derefter ellers fortager nøjagtig de samme ting (derfor rydes der ikke op i dén tabel, det gør det andet script bagefter). Det script kommer så op på ca. 23000 (den summere dubletter).

Jeg skulle gerne kunne lave tilsvarende opdateringer for individuelle brugere, og der kommer vi op i de 110000+ i antal. Bare ikke muligt før jeg har mere ram, og tiden her er sat ned (ovenstående script, før ændringer tog 13 timer og 48 minutter på den store fil).
Avatar billede bgo Nybegynder
12. august 2005 - 13:46 #15
$year = date("Y",$yesterday);
    $month = date("m",$yesterday);
    $day = date("D",$yesterday);
    $daydate = date("d",$yesterday);
    //echo $month." ".$day." ".$daydate."<br>";
    $monadd=6;
    $tueadd=5;
    $wedadd=4;
    $thuadd=3;
    $friadd=2;
    $satadd=1;
    $sunadd=0;
    if ($day=="Mon"){
        $toweekend=$monadd;
    }else{
        if ($day=="Tue"){
            $toweekend=$tueadd;
        }else{
            if ($day=="Wed"){
                $toweekend=$wedadd;
            }else{
                if ($day=="Thu"){
                    $toweekend=$thuadd;
                }else{
                    if ($day=="Fri"){
                        $toweekend=$friadd;
                    }else{
                        if ($day=="Sat"){
                            $toweekend=$satadd;
                        }else{
                            $toweekend=0;
                        }
                    }
                }
            }
        }
    }
    $weekend=mktime(0, 0, 0, date("m",$yesterday)  , date("d",$yesterday)+$toweekend, date("Y",$yesterday));

og

$thismonth1=date("M",$yesterday);
    $thismonth=mktime(0, 0, 0, date("m",$yesterday)  , 1, date("Y",$yesterday));

er nu flyttet op lige under hvor $yesterday sættes - der er ingen grund til at disse bliver udført så mange gange når det er der samme resultat.
Avatar billede bgo Nybegynder
12. august 2005 - 13:50 #16
indsættelse af $totalcredit, $expavg_credit og $nusers har jeg flyttet op ved indlæsning af fil - der er ingen grund til at "flytte" på de tal på den måde
Avatar billede bgo Nybegynder
12. august 2005 - 13:53 #17
nuværende udgave ser således ud:

<?
$totalprojectcredit=0;
$updateproject=$_GET['p'];
echo $updateproject."<br><br>";
set_time_limit(360000);

$yesterday=mktime(0, 0, 0, date("m")  , date("d")-19, date("Y"));
$year = date("Y",$yesterday);
    $month = date("m",$yesterday);
    $day = date("D",$yesterday);
    $daydate = date("d",$yesterday);
    //echo $month." ".$day." ".$daydate."<br>";
    $monadd=6;
    $tueadd=5;
    $wedadd=4;
    $thuadd=3;
    $friadd=2;
    $satadd=1;
    $sunadd=0;
    if ($day=="Mon"){
        $toweekend=$monadd;
    }else{
        if ($day=="Tue"){
            $toweekend=$tueadd;
        }else{
            if ($day=="Wed"){
                $toweekend=$wedadd;
            }else{
                if ($day=="Thu"){
                    $toweekend=$thuadd;
                }else{
                    if ($day=="Fri"){
                        $toweekend=$friadd;
                    }else{
                        if ($day=="Sat"){
                            $toweekend=$satadd;
                        }else{
                            $toweekend=0;
                        }
                    }
                }
            }
        }
    }
    $weekend=mktime(0, 0, 0, date("m",$yesterday)  , date("d",$yesterday)+$toweekend, date("Y",$yesterday));
    $thismonth1=date("M",$yesterday);
    $thismonth=mktime(0, 0, 0, date("m",$yesterday)  , 1, date("Y",$yesterday));
   
   
mysql_connect("127.0.0.1","root","") or die (mysql_error());
mysql_select_db("stats") or die (mysql_error());

mysql_query("UPDATE runtimes SET starttime = NOW() WHERE (stattype = 'teams') AND (project = '".$updateproject."')");

$sql = "SELECT * FROM coredata WHERE project = '".$updateproject."'";
   
$status=mysql_query("$sql") or die (mysql_error());
while ($row = mysql_fetch_array($status)){
   
    $coreversionsname=$row['coreversionsname'];
    $dbdumpname=$row['dbdumpname'];
    $tablesname=$row['tablesname'];
    $hostname=$row['hostname'];
    $teamname=$row['teamname'];
    $username=$row['username'];
    echo $username."<br>";
}

$sql = "DELETE FROM xml_teams_temp";
//mysql_query("$sql") or die (mysql_error());
$sql = "DELETE FROM xml_teams_forecast_temp";
mysql_query("$sql") or die (mysql_error());

$sql = "DELETE FROM xml_teams_average";
//mysql_query("$sql") or die (mysql_error());

$sql = "DELETE FROM xml_teams_average_7";
//mysql_query("$sql") or die (mysql_error());

$sql = "DELETE FROM xml_teams_credit_day";
//mysql_query("$sql") or die (mysql_error());

$sql = "DELETE FROM xml_teams_credit_month";
//mysql_query("$sql") or die (mysql_error());

$sql = "DELETE FROM xml_teams_credit_week";
//mysql_query("$sql") or die (mysql_error());

$sql = "DELETE FROM xml_teams_flops";
//mysql_query("$sql") or die (mysql_error());

$sql = "DELETE FROM xml_teams_list";
//mysql_query("$sql") or die (mysql_error());

$sql = "DELETE FROM xml_teams_morethanall";
//mysql_query("$sql") or die (mysql_error());

$sql = "DELETE FROM xml_teams_morethancountry";
mysql_query("$sql") or die (mysql_error());
$sql = "DELETE FROM xml_teams_morethantype";
mysql_query("$sql") or die (mysql_error());
$sql = "DELETE FROM xml_teams_nusers";
//mysql_query("$sql") or die (mysql_error());

$sql = "DELETE FROM xml_teams_rac";
//mysql_query("$sql") or die (mysql_error());

$sql = "DELETE FROM xml_teams_totalcredit";
//mysql_query("$sql") or die (mysql_error());

$sql = "DELETE FROM xml_teams_worldrank";
//mysql_query("$sql") or die (mysql_error());

$sql = "DELETE FROM xml_teams_worldrank_average";
mysql_query("$sql") or die (mysql_error());
$sql = "DELETE FROM xml_teams_worldrank_country";
mysql_query("$sql") or die (mysql_error());
$sql = "DELETE FROM xml_teams_worldrank_rac";
mysql_query("$sql") or die (mysql_error());
$sql = "DELETE FROM xml_teams_worldrank_type";
mysql_query("$sql") or die (mysql_error());
$sql = "DELETE FROM xml_teams_years";
//mysql_query("$sql") or die (mysql_error());

$sql="";
$itemcount=0;


function file_ungzip($fromFile, $toFile) {
  $zp = @gzopen($fromFile, "r");
  $fp = @fopen($toFile, "w");
  while(!@gzeof($zp)) {$string = @gzread($zp, 4096); @fwrite($fp, $string, strlen($string));}
  @gzclose($zp);
  @fclose($fp);
}

function startElement($xml_parser, $name, $attributes) {
    global $TagsOpen, $counter, $sql, $itemcount, $itemcount2, $itemsclosed, $sqlfields, $sqldata, $gottocountry, $useropen, $gottoname, $gottofoundername;
    switch($name) {
        case($name = "TEAMS"):
            $TagsOpen["teams"] = 1;
           
           
            break;
        case($name = "USER"):
            $TagsOpen["user"] = 1;
            //echo " user open ";
            $useropen=1;
           
            break;
        case($name = "TEAM"):
            $TagsOpen["team"] = 1;
            ?>
            <p>team <?=$counter++?></p>
            <?
            $sql="INSERT INTO xml_teams_temp (";
            $itemcount=0;
            $itemcount2=0;
            $itemsclosed=0;
            $sqlfields="";
            $sqldata="";
            break;
        case($name = "ID"):
            $TagsOpen["id"] = 1;
            if ($useropen==0){
            ?>
            <p>id:
            <?
            if ($itemcount>0){
                $sqlfields=$sqlfields.", teamid";
            }else{
                $sqlfields=$sqlfields."teamid";
            }
            $itemcount+=1;
            }
            break;
        case($name = "NAME");
            $TagsOpen["name"] = 1;
            if ($useropen==0){
            $gottoname=0;
            ?>
            name:
            <?
            if ($itemcount>0){
                $sqlfields=$sqlfields.", name";
            }else{
                $sqlfields=$sqlfields."name";
            }
            $itemcount+=1;
            }
            break;
        case($name = "COUNTRY"):
            $TagsOpen["country"] = 1;
            if ($useropen==0){
            ?>
            country:
            <?
            //echo "opened";
            $gottocountry=0;
            //echo " ".$gottocountry." ";
            if ($itemcount>0){
                $sqlfields=$sqlfields.", country";
            }else{
                $sqlfields=$sqlfields."country";
            }
            $itemcount+=1;
            }
            break;
        case($name = "CREATE_TIME"):
            $TagsOpen["create_time"] = 1;
            if ($useropen==0){
            ?>
            create_time:
            <?
            if ($itemcount>0){
                $sqlfields=$sqlfields.", create_time";
            }else{
                $sqlfields=$sqlfields."create_time";
            }
            $itemcount+=1;
            }
            break;
        case($name = "TOTAL_CREDIT"):
            $TagsOpen["total_credit"] = 1;
            if ($useropen==0){
            ?>
            total_credit:
            <?if ($itemcount>0){
                $sqlfields=$sqlfields.", total_credit";
            }else{
                $sqlfields=$sqlfields."total_credit";
            }
            $itemcount+=1;
            }
            break;
        case($name = "EXPAVG_CREDIT"):
            $TagsOpen["expavg_credit"] = 1;
            if ($useropen==0){
            ?>
            avg_credit:
            <?
            if ($itemcount>0){
                $sqlfields=$sqlfields.", expavg_credit";
            }else{
                $sqlfields=$sqlfields."expavg_credit";
            }
            $itemcount+=1;
            }
            break;
        case($name = "EXPAVG_TIME"):
            $TagsOpen["expavg_time"] = 1;
            if ($useropen==0){
            ?>
            expavg_time:
            <?
            }
            break;
        case($name = "CPID"):
            $TagsOpen["cpid"] = 1;
            if ($useropen==0){
            ?>
            cpid:
            <?if ($itemcount>0){
                $sqlfields=$sqlfields.", cpid";
            }else{
                $sqlfields=$sqlfields."cpid";
            }
            $itemcount+=1;
            }
            break;
        case($name = "USERID"):
            $TagsOpen["userid"] = 1;
            if ($useropen==0){
            ?>
            userid:
            <?
            if ($itemcount>0){
                $sqlfields=$sqlfields.", userid";
            }else{
                $sqlfields=$sqlfields."userid";
            }
            $itemcount+=1;
            }
            break;
        case($name = "NUSERS"):
            $TagsOpen["nusers"] = 1;
            ?>
            nusers:
            <?
            if ($itemcount>0){
                $sqlfields=$sqlfields.", nusers";
            }else{
                $sqlfields=$sqlfields."nusers";
            }
            $itemcount+=1;
           
            break;
        case($name = "FOUNDER_NAME"):
            $TagsOpen["founder_name"] = 1;
            $gottofoundername=0;
            ?>
            founder:
            <?
            if ($itemcount>0){
                $sqlfields=$sqlfields.", founder_name";
            }else{
                $sqlfields=$sqlfields."founder_name";
            }
            $itemcount+=1;
            break;
        case($name = "URL"):
            $TagsOpen["url"] = 1;
            if ($useropen==0){
            ?>
            url:
            <?
            if ($itemcount>0){
                $sqlfields=$sqlfields.", url";
            }else{
                $sqlfields=$sqlfields."url";
            }
            $itemcount+=1;
            }
            break;
        case($name = "DESCRIPTION"):
            $TagsOpen["description"] = 1;
            ?>
            desc:
            <?
            $itemcount+=1;
           
            break;
        case($name = "CREATE_TIME"):
            $TagsOpen["create_time"] = 1;
            if ($useropen==0){
            ?>
            desc:
            <?
            if ($itemcount>0){
                $sqlfields=$sqlfields.", create_time";
            }else{
                $sqlfields=$sqlfields."create_time";
            }
            $itemcount+=1;
            }
            break;
        case($name = "TYPE"):
            $TagsOpen["type"] = 1;
            if ($useropen==0){
            ?>
            type:
            <?
            if ($itemcount>0){
                $sqlfields=$sqlfields.", type";
            }else{
                $sqlfields=$sqlfields."type";
            }
            $itemcount+=1;
            }
            break;
    }
}

function endElement($parser, $name) {
    global $TagsOpen, $counter, $sql, $itemcount, $itemcount2, $itemsclosed, $sqlfields, $sqldata, $gottocountry, $updateproject, $useropen, $gottoname, $gottofoundername, $teamidtemp, $totalcredittemp, $expavg_credittemp, $nuserstemp, $yesterday;
    switch($name) {
        case($name = "TEAMS"):
            $TagsOpen["teams"] = 0;
            break;
        case($name = "USER"):
            $TagsOpen["user"] = 0;
            //echo " user closed ";
            $useropen=0;
            break;
        case($name = "TEAM"):
            $TagsOpen["team"] = 0;
            //echo $sqldata."<br><br>";
            $sqldata=str_replace("<","&lt;",$sqldata);
            //$sqldata=str_replace("\"","'",$sqldata);
            //echo $sqldata."<br>";
            $sql=$sql.$sqlfields.",project) VALUES (".$sqldata.", \"".$updateproject."\")";
           
            //echo "<p>sql: <code>".$sql."</code><br>items:".$itemcount." items2:".$itemcount2." closed: ".$itemsclosed."</p>";
            mysql_query("$sql") or die (mysql_error());
            $sql="INSERT INTO xml_teams_totalcredit (teamid, project, dato, total_credit) VALUES (".$teamidtemp.", '".$updateproject."', ".date("Ymd", $yesterday).", ".$totalcredittemp.")";
            //echo $sql;
            mysql_query("$sql") or die (mysql_error());
            $sql="INSERT INTO xml_teams_rac (teamid, project, dato, rac) VALUES (".$teamidtemp.", '".$updateproject."', ".date("Ymd", $yesterday).", ".$expavg_credittemp.")";
            mysql_query("$sql") or die (mysql_error());
            $sql="INSERT INTO xml_teams_nusers (teamid, project, dato, nusers) VALUES (".$teamidtemp.", '".$updateproject."', ".date("Ymd", $yesterday).", ".$nuserstemp.")";
            mysql_query("$sql") or die (mysql_error());
            break;
        case($name = "ID"):
            $TagsOpen["id"] = 0;
            if ($useropen==0){
            $itemsclosed+=1;
            }
            break;
        case($name = "NAME");
            $TagsOpen["name"] = 0;
            if ($useropen==0){
            if ($gottoname==0){
                $sqldata=$sqldata.", \"(Unknown)";
                $gottoname=0;
            }
            $itemsclosed+=1;
           
            $sqldata=$sqldata."\"";
            $itemcount2=$itemcount;
            }
            break;
        case($name = "COUNTRY"):
            $TagsOpen["country"] = 0;
            if ($useropen==0){
            if ($gottocountry==0){
                $sqldata=$sqldata.", \"International";
                $gottocountry=0;
            }
           
            $sqldata=$sqldata."\"";
           
            $itemcount2=$itemcount;
            //echo "closed ".$gottocountry;
            }
            break;
        case($name = "CREATE_TIME"):
            $TagsOpen["create_time"] = 0;
            if ($useropen==0){
            $itemsclosed+=1;
            }
            break;
        case($name = "TOTAL_CREDIT"):
            $TagsOpen["total_credit"] = 0;
            if ($useropen==0){
            $itemsclosed+=1;
            }
            break;
        case($name = "EXPAVG_CREDIT"):
            $TagsOpen["expavg_credit"] = 0;
            if ($useropen==0){
            $itemsclosed+=1;
            }
            break;
        case($name = "EXPAVG_TIME"):
            $TagsOpen["expavg_time"] = 0;
            if ($useropen==0){
            $itemsclosed+=1;
            }
            break;
        case($name = "CPID"):
            $TagsOpen["cpid"] = 0;
            if ($useropen==0){
            $itemsclosed+=1;
            }
            break;
        case($name = "USERID"):
            $TagsOpen["userid"] = 0;
            $itemsclosed+=1;
            break;
        case($name = "NUSERS"):
            $TagsOpen["nusers"] = 0;
            $itemsclosed+=1;
            break;
        case($name = "FOUNDER_NAME"):
            $TagsOpen["founder_name"] = 0;
            $itemsclosed+=1;
            if ($gottofoundername==0){
                $sqldata=$sqldata.", \"(Unknown)";
                $gottofoundername=0;
            }
            $sqldata=$sqldata."\"";
            $itemcount2=$itemcount;
            break;
        case($name = "URL"):
            $TagsOpen["url"] = 0;
            if ($useropen==0){
            $itemsclosed+=1;
            $sqldata=$sqldata."\"";
            $itemcount2=$itemcount;
            }
            break;
        case($name = "DESCRIPTION"):
            $TagsOpen["description"] = 0;
            $itemsclosed+=1;
            //$sqldata=$sqldata."\"";
            $itemcount2=$itemcount;
            break;
        case($name = "CREATE_TIME"):
            $TagsOpen["create_time"] = 0;
            if ($useropen==0){
            $itemsclosed+=1;
            }
            break;
        case($name = "TYPE"):
            $TagsOpen["type"] = 0;
            if ($useropen==0){
            $itemsclosed+=1;
            }
            break;
    }
}

function characterData($parser, $data) {
    global $TagsOpen, $counter, $sql, $itemcount, $itemcount2, $itemsclosed, $sqlfields, $sqldata, $gottocountry, $useropen, $gottoname, $gottofoundername, $teamidtemp, $totalcredittemp, $expavg_credittemp, $nuserstemp, $totalprojectcredit;
    switch($TagsOpen) {
        case($TagsOpen["id"] == 1):
           
            if ($useropen==0){
            //echo " $data<br>";
            if ($itemcount2>0){
                $sqldata=$sqldata.", ".$data;
            }else{
                $sqldata=$sqldata.$data;
            }
            $teamidtemp=$data;
            $itemcount2+=1;
            }
           
            break;
        case($TagsOpen["name"] == 1):
            if ($useropen==0){
            $data2=str_replace("\"","'",$data);
            $data2=str_replace("<","",$data2);
            $data2=str_replace(">","",$data2);
            $data2=str_replace("a href","",$data2);
            $data2=str_replace("A HREF","",$data2);
            $data2=str_replace("img src","",$data2);
            $data2=str_replace("IMG SRC","",$data2);
            $data2=str_replace("\\","",$data2);
            $gottoname=1;
            //echo "$data2<br>";
            if ($itemcount2<$itemcount){
                if ($itemcount2>0){
                    $sqldata=$sqldata.", \"".$data2;
                }else{
                    $sqldata=$sqldata."\"".$data2;
                }
                $itemcount2+=1;
            }else{
                $sqldata=$sqldata.$data2;
                $itemcount2+=1;
            }
            }
            break;
        case($TagsOpen["create_time"] == 1):
            if ($useropen==0){
            //echo "$data<br>";
            if ($itemcount2>0){
                $sqldata=$sqldata.", FROM_UNIXTIME(".$data.")";
            }else{
                $sqldata=$sqldata."FROM_UNIXTIME(".$data.")";
            }
            $itemcount2+=1;
            }
            break;
        case($TagsOpen["user"] == 1):
            //echo "$data<br>";
            //if ($itemcount2>0){
            //    $sqldata=$sqldata.", FROM_UNIXTIME(".$data.")";
            //}else{
            //    $sqldata=$sqldata."FROM_UNIXTIME(".$data.")";
            //}
            //$itemcount2+=1;
            break;
        case($TagsOpen["country"] == 1):
            if ($useropen==0){
            $gottocountry=1;
            //echo "$data ";//.$gottocountry."<br>";
           
            if ($itemcount2<$itemcount){
               
                if ($itemcount2>0){
                    $sqldata=$sqldata.", \"".$data;
                }else{
                    $sqldata=$sqldata."\"".$data;
                }
               
                $itemcount2+=1;
            }else{
                $sqldata=$sqldata.$data;
                $itemcount2+=1;
            }
            }
            break;
        case($TagsOpen["total_credit"] == 1):
            if ($useropen==0){
            //echo "$data<br>";
            if ($itemcount2>0){
                $sqldata=$sqldata.", ".$data;
            }else{
                $sqldata=$sqldata.$data;
            }
            $itemcount2+=1;
            }
            $totalcredittemp=$data;
            $totalprojectcredit+=$data;
            break;
        case($TagsOpen["expavg_credit"] == 1):
            if ($useropen==0){
            //echo "$data<br>";
            if ($itemcount2>0){
                $sqldata=$sqldata.", ".$data;
            }else{
                $sqldata=$sqldata.$data;
            }
            $itemcount2+=1;
            }
            $expavg_credittemp=$data;
            break;
        case($TagsOpen["expavg_time"] == 1):
            if ($useropen==0){
            //echo "$data<br>";
            }
            break;
        case($TagsOpen["cpid"] == 1):
            if ($useropen==0){
            //echo "$data<br>";
            if ($itemcount2>0){
                $sqldata=$sqldata.", \"".$data."'";
            }else{
                $sqldata=$sqldata."\"".$data."'";
            }
            $itemcount2+=1;
            }
            break;
        case($TagsOpen["userid"] == 1):
            if ($useropen==0){
            //echo "$data<br>";
            if ($itemcount2>0){
                $sqldata=$sqldata.", ".$data;
            }else{
                $sqldata=$sqldata.$data;
            }
            $itemcount2+=1;
            }
            break;
        case($TagsOpen["nusers"] == 1):
            if ($useropen==0){
            //echo "$data<br>";
            if ($itemcount2>0){
                $sqldata=$sqldata.", ".$data;
            }else{
                $sqldata=$sqldata.$data;
            }
            $itemcount2+=1;
            }
            $nuserstemp=$data;
            break;
        case($TagsOpen["founder_name"] == 1):
            if ($useropen==0){
            $gottofoundername=1;
            $data2=str_replace("\"","",$data);
            $data2=str_replace("<","",$data2);
            $data2=str_replace(">","",$data2);
            $data2=str_replace("a href","",$data2);
            $data2=str_replace("A HREF","",$data2);
            $data2=str_replace("img src","",$data2);
            $data2=str_replace("IMG SRC","",$data2);
            $data2=str_replace("\\","",$data2);
            //echo "$data2<br>";
            if ($itemcount2<$itemcount){
                if ($itemcount2>0){
                    $sqldata=$sqldata.", \"".$data2;
                }else{
                    $sqldata=$sqldata."\"".$data2;
                }
                $itemcount2+=1;
            }else{
                $sqldata=$sqldata.$data2;
                $itemcount2+=1;
            }
            }
            break;
        case($TagsOpen["url"] == 1):
            if ($useropen==0){
            $data2=str_replace("\"","",$data);
            $data2=str_replace("<","",$data2);
            $data2=str_replace(">","",$data2);
            $data2=str_replace("a href","",$data2);
            $data2=str_replace("A HREF","",$data2);
            $data2=str_replace("img src","",$data2);
            $data2=str_replace("IMG SRC","",$data2);
            $data2=str_replace("\\","",$data2);
            //echo "$data2<br>";
            if ($itemcount2<$itemcount){
                if ($itemcount2>0){
                    $sqldata=$sqldata.", \"".$data2;
                }else{
                    $sqldata=$sqldata."\"".$data2;
                }
                $itemcount2+=1;
            }else{
                $sqldata=$sqldata.$data2;
                $itemcount2+=1;
            }
            }
            break;
        case($TagsOpen["description"] == 1):
            if ($useropen==0){
            $data2=str_replace("\"","",$data);
            $data2=str_replace("<","",$data2);
            $data2=str_replace(">","",$data2);
            $data2=str_replace("a href","",$data2);
            $data2=str_replace("A HREF","",$data2);
            $data2=str_replace("img src","",$data2);
            $data2=str_replace("IMG SRC","",$data2);
            $data2=str_replace("\\","",$data2);
            //echo "$data2<br>";
            }
            break;
        case($TagsOpen["create_time"] == 1):
            if ($useropen==0){
            //echo "$data<br>";
            if ($itemcount2>0){
                $sqldata=$sqldata.", ".$data;
            }else{
                $sqldata=$sqldata.$data;
            }
            $itemcount2+=1;
            }
            break;
        case($TagsOpen["type"] == 1):
           
            if ($useropen==0){
            //echo "$data<br>";
            if ($itemcount2>0){
                $sqldata=$sqldata.", ".$data;
            }else{
                $sqldata=$sqldata.$data;
            }
            $itemcount2+=1;
            }
            break;
    }
}

function load_data($file) {   
    $fh = fopen($file, "r") or die ("<P>COULD NOT OPEN FILE!");
    $data = fread($fh, filesize($file));
    return $data;
}

$TagsOpen = array( 
            "teams" => 0,
            "team" => 0,
            "id" => 0,
            "name" => 0,
            "country" => 0,
            "create_time" => 0,
            "expavg_credit" => 0,
            "expavg_time" => 0,
            "cpid" => 0,
            "userid" => 0,
            "total_credit" => 0,
            "nusers" => 0,
            "founder_name" => 0,
            "create_time" => 0,
            "url" => 0,
            "description" => 0,
            "type" => 0,
            "user" => 0
            );

$counter = 1;






file_ungzip("h:/boincstats-xml/".$updateproject."/24-07-2005/".$teamname, "h:/boincstats-xml/".$updateproject."/24-07-2005/team.xml");
$file = "h:/boincstats-xml/".$updateproject."/24-07-2005/team.xml";
$xml_parser = xml_parser_create();
xml_parser_set_option($xml_parser, XML_OPTION_CASE_FOLDING, true);
xml_set_element_handler($xml_parser, "startElement", "endElement");
xml_set_character_data_handler($xml_parser, "characterData");
xml_parse($xml_parser, load_data($file)) or die ("<P>Fejl ved parsing af XML!");
xml_parser_free($xml_parser);

// PURE INSERTIONS

$totalprojectteams=0;

$sql = "SELECT teamid, type, name, total_credit, expavg_credit, userid, founder_name, create_time, url, country FROM xml_teams_temp WHERE project = '".$updateproject."'";


$status=mysql_query("$sql") or die (mysql_error());
while ($row = mysql_fetch_array($status)){
    echo "part one - /// ".$row['teamid']." /// ";
    // TEAM LIST
    $count=0;
   
    $sql2 = "SELECT type FROM xml_teams_list WHERE (project = '".$updateproject."') AND (teamid = ".$row['teamid'].")";
   
    $status2=mysql_query("$sql2") or die (mysql_error());
    while ($row2 = mysql_fetch_array($status2)){
   
        //$sql3 = "UPDATE xml_teams_list SET type = ".$row['type'].", name = \"".str_replace("'","\'",$row['name'])."\", userid = ".$row['userid'].", founder_name = \"".$row['founder_name']."\", url = \"".$row['url']."\", country = \"".$row['country']."\", create_time = \"".$row['create_time']."\" WHERE (teamid = ".$row['teamid'].") AND (project = \"".$updateproject."\")";
       
        //echo "opdaterer ".$row['teamid']."<br>";
        $count+=1;
        $totalprojectteams+=1;
   
    }
    if ($count<>1){
        $sql3= "INSERT INTO xml_teams_list (teamid, type, name, userid, founder_name, create_time, url, country, added, project) VALUES (".$row['teamid'].", ".$row['type'].", \"".str_replace("'","\'",$row['name'])."\", ".$row['userid'].", \"".$row['founder_name']."\", \"".$row['create_time']."\", \"".$row['url']."\", \"".$row['country']."\", ".date("Ymd", $yesterday).", \"".$updateproject."\")";
        $totalprojectteams+=1;
        //echo "opretter ".$row['teamid']."<br>";
        mysql_query($sql3) or die (mysql_error());
    }
   
   
    // TOTAL CREDIT
   
    $totalcredit=$row['total_credit'];
    //$sql3 = "INSERT INTO xml_teams_totalcredit (dato, total_credit, teamid, project) VALUES (".date("Ymd", $yesterday).", ".$row['total_credit'].", ".$row['teamid'].", '".$updateproject."')";
    //$totalprojectcredit+=$row['total_credit'];
    //echo "- tilføjer credit<br>";
    //mysql_query("$sql3") or die (mysql_error());
   
    // RAC
    $teamrac=$row['expavg_credit'];
    //$sql3 = "INSERT INTO xml_teams_rac (dato, rac, teamid, project) VALUES (".date("Ymd", $yesterday).", ".$row['expavg_credit'].", ".$row['teamid'].", '".$updateproject."')";
    //echo "- tilføjer rac<br>";
    //mysql_query("$sql3") or die (mysql_error());
   
    // NUSERS
    //$sql3 = "INSERT INTO xml_teams_nusers (dato, nusers, teamid, project) VALUES (".date("Ymd", $yesterday).", ".$row['nusers'].", ".$row['teamid'].", '".$updateproject."')";
    //echo "- tilføjer nusers<br>";
    //mysql_query("$sql3") or die (mysql_error());
   
    // 122 AVERAGE RAC
    //$daycount=0;
    //$racsum=0;
    //$sql4 = "SELECT * FROM xml_teams_rac WHERE (teamid = ".$row['teamid'].") AND (project = '".$updateproject."') ORDER BY dato DESC LIMIT 122";
   
    //$status4=mysql_query("$sql4") or die (mysql_error());
    //while ($row4 = mysql_fetch_array($status4)){
   
    //    $racsum+=$row4['rac'];
    //    $daycount+=1;
   
    //}
    //$avgrac=$racsum/$daycount;
    //$sql3 = "UPDATE xml_teams_rac SET avg_rac = ".$avgrac." WHERE (teamid= ".$row['teamid'].") AND (dato = ".date("Ymd", $yesterday).") AND (project= '".$updateproject."')";
    //echo "- tilføjer avg rac<br>";
    //mysql_query("$sql3") or die (mysql_error());
   
    // CREDIT DAY
    $daycount=Array(2);
    $x=0;
    $daytotal[0]=0;
    $daytotal[1]=0;
    $sql4 = "SELECT total_credit FROM xml_teams_totalcredit WHERE (project = '".$updateproject."') AND (teamid = ".$row['teamid'].") ORDER BY dato DESC LIMIT 2";
   
    $status4=mysql_query("$sql4") or die (mysql_error());
    while ($row4 = mysql_fetch_array($status4)){
   
        $daytotal[$x]=$row4['total_credit'];
        $x+=1;
        //echo "credit at ".$row4['dato'].": ".$row4['total_credit']."<br>";
   
    }
    $daycredit=$daytotal[0]-$daytotal[1];
    //echo "credit day: ".$daytotal[0]."-".$daytotal[1]."= ".$daycredit."<br>";
    $sql3 = "INSERT INTO xml_teams_credit_day (dato, credit_day, teamid, project) VALUES (".date("Ymd", $yesterday).", ".$daycredit.", ".$row['teamid'].", '".$updateproject."')";
    //echo $sql3."<br>";
    //echo "- tilføjer credit day<br>";
    mysql_query("$sql3") or die (mysql_error());
   
    // CREDIT WEEK
   
   
   
    if ($day<>"Mon"){
        $weekcount=0;
        $sql4 = "SELECT credit_week FROM xml_teams_credit_week WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $weekend).") AND (teamid = ".$row['teamid'].") ORDER BY dato DESC";
       
        $status4=mysql_query("$sql4") or die (mysql_error());
        while ($row4 = mysql_fetch_array($status4)){
   
            $weektotal=$row4['credit_week'];
            $weekcount+=1;
   
        }
        $weektotal2=$weektotal+$daycredit;
        //echo "this week yesterday: ".$weektotal." credit today: ".$daycredit." new week total: ".$weektotal2."<br>";
        if ($weekcount>0){
            $sql3 = "UPDATE xml_teams_credit_week SET credit_week = ".$weektotal2." WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $weekend).") AND (teamid = ".$row['teamid'].")";
            //echo $sql3."<br>";
            //echo "add to current week<br>";
        }else{
            $sql3 = "INSERT INTO xml_teams_credit_week (credit_week, dato, teamid, project) VALUES (".$daycredit.", ".date("Ymd", $weekend).", ".$row['teamid'].", '".$updateproject."')";
            //echo $sql3."<br>";
            //echo "start new week<br>";
        }
        //echo "current week ends ".date("d D m Y",$weekend)."<br>";
    }else{
        //echo "this week yesterday: ".$weektotal." credit today: ".$daycredit." new week total: ".$daycredit."<br>";
        $sql3 = "INSERT INTO xml_teams_credit_week (credit_week, dato, teamid, project) VALUES (".$daycredit.", ".date("Ymd", $weekend).", ".$row['teamid'].", '".$updateproject."')";
        //echo $sql3."<br>";
        //echo "start new week<br>";
        //echo "new week ends ".date("d D m Y",$weekend)."<br>";
    }
    //echo "- tilføjer credit week<br>";
    mysql_query("$sql3") or die (mysql_error());
   
    // CREDIT MONTH
   
    if ($daydate<>1){
        $monthcount=0;
        $sql4 = "SELECT credit_month FROM xml_teams_credit_month WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $thismonth).") AND (teamid = ".$row['teamid'].") ORDER BY dato DESC";
       
        $status4=mysql_query("$sql4") or die (mysql_error());
        while ($row4 = mysql_fetch_array($status4)){
   
            $monthtotal=$row4['credit_month'];
            $monthcount+=1;
   
        }
        $monthtotal2=$monthtotal+$daycredit;
        //echo "this month yesterday: ".$monthtotal." credit today: ".$daycredit." new month total: ".$monthtotal2."<br>";
        if ($monthcount>0){
            $sql3 = "UPDATE xml_teams_credit_month SET credit_month = ".$monthtotal2." WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $thismonth).") AND (teamid = ".$row['teamid'].")";
        //    echo $sql3."<br>";
        //    echo "add to current month<br>";
        }else{
            $sql3 = "INSERT INTO xml_teams_credit_month (credit_month, dato, teamid, project) VALUES (".$daycredit.", ".date("Ymd", $thismonth).", ".$row['teamid'].", '".$updateproject."')";
        //    echo $sql3."<br>";
        //    echo "start new month<br>";
        }
       
    }else{
        //echo "this month yesterday: ".$monthtotal." credit today: ".$daycredit." new month total: ".$daycredit."<br>";
        $sql3 = "INSERT INTO xml_teams_credit_month (credit_month, dato, teamid, project) VALUES (".$daycredit.", ".date("Ymd", $thismonth).", ".$row['teamid'].", '".$updateproject."')";
        //echo $sql3."<br>";
        //echo "start new month<br>";
        //echo "new week ends ".date("d D m Y",$weekend)."<br>";
    }
    //echo $thismonth1." ".date("dmY",$thismonth)."<br>";
    //echo "- tilføjer credit month<br>";
    mysql_query("$sql3") or die (mysql_error());
   
   
   
   
    // REMOVE CREDIT DAY (ONLY WHEN NEWLY ADDED OLDER PROJECT)
    // REMOVE CREDIT DAY (ONLY WHEN NEWLY ADDED OLDER PROJECT)
    // REMOVE CREDIT DAY (ONLY WHEN NEWLY ADDED OLDER PROJECT)
    // REMOVE CREDIT DAY (ONLY WHEN NEWLY ADDED OLDER PROJECT)
    //if ($row['teamid']<>34){
    //    $sql3 = "UPDATE xml_teams_credit_day SET credit_day = 0 WHERE (teamid = ".$row['teamid'].") AND (dato = ".date("Ymd", $yesterday).") AND (project = '".$updateproject."')";
    //    mysql_query("$sql3") or die (mysql_error());
    //}
   
   
   
   
   
   
   
    // AVERAGE DAY
    $creditsum=0;
    $daycountavg=0;
    $creditsum2=0;
    $daycount2=0;
    $creditsum3=0;
    $daycount3=0;
   
    $sql4 = "SELECT credit_day FROM xml_teams_credit_day WHERE (project = '".$updateproject."') AND (teamid = ".$row['teamid'].") ORDER BY dato DESC LIMIT 0, 122";
    //echo $sql4."<br>";
    $status4=mysql_query("$sql4") or die (mysql_error());
    while ($row4 = mysql_fetch_array($status4)){
   
       
        $daycountavg++;
       
       
       
       
        if ($daycountavg<31){
            if ($daycountavg<8){
                $daycount2++;
                $creditsum2=$creditsum2+$row4['credit_day'];
            }
            $daycount3++;
            $creditsum3=$creditsum3+$row4['credit_day'];
        }
       
        $creditsum=$creditsum+$row4['credit_day'];
        $lastrow=$row4['credit_day'];
        //echo $creditsum." ".$row4['credit_day']." ";
       
   
    }
   
    $avgday = ($daycountavg > 0) ? $avgday = $creditsum/$daycountavg : 0;
    $avgday7 = ($daycount2 > 0) ? $creditsum2/$daycount2 : 0;
    $avgday30 = ($daycount3 > 0) ? $creditsum3/$daycount3 : 0;
    $average7=$avgday7;
    $average122=$avgday;
    $sql3 = "INSERT INTO xml_teams_average (dato, average, teamid, project) VALUES (".date("Ymd", $yesterday).", ".$avgday.", ".$row['teamid'].", '".$updateproject."')";
    //echo $sql3."<br>";
    //echo "- tilføjer avg day<br>";
    mysql_query("$sql3") or die (mysql_error());
   
    // NUSERS CHANGE
    $daycount=Array(2);
    $x=0;
    $sql4 = "SELECT nusers FROM xml_teams_nusers WHERE (project = '".$updateproject."') AND (teamid = ".$row['teamid'].") ORDER BY dato DESC LIMIT 2";
   
    $status4=mysql_query("$sql4") or die (mysql_error());
    while ($row4 = mysql_fetch_array($status4)){
   
        $usertotal[$x]=$row4['nusers'];
        $x+=1;
   
    }
    $dayuser=$usertotal[0]-$usertotal[1];
    //echo $dayuser." - 0: ",$usertotal[0]." - 1: ".$usertotal[1]."<br>";
    $sql3 = "UPDATE xml_teams_nusers SET changed = ".$dayuser." WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $yesterday).") AND (teamid = ".$row['teamid'].")";
    //echo $sql3."<br>";
    //echo "- tilføjer nusers day<br>";
    mysql_query("$sql3") or die (mysql_error());
   
   
   
    // FLOPS
    //$sql4 = "SELECT * FROM xml_teams_average WHERE (teamid = ".$row['teamid'].") AND (dato = ".date("Ymd", $yesterday).") AND (project = '".$updateproject."')";
    //echo $sql4."<br>";
    //$status4=mysql_query("$sql4") or die (mysql_error());
    //while ($row4 = mysql_fetch_array($status4)){
   
        $gflops=$average122/100;
       
   
    //}
    $sql3 = "INSERT INTO xml_teams_flops (gflops, dato, teamid, project) VALUES (".$gflops.", ".date("Ymd", $yesterday).", ".$row['teamid'].", '".$updateproject."')";
    //echo $sql3."<br>";
    //echo "- tilføjer flops<br>";
    mysql_query("$sql3") or die (mysql_error());
   
    // AVERAGE DAY 7
    //$creditsum=0;
    //$creditsum2=0;
    //$daycount=0;
    //$daycount2=0;
   
    //$sql4 = "SELECT * FROM xml_teams_credit_day WHERE (teamid = ".$row['teamid'].") AND (project = '".$updateproject."') ORDER BY dato DESC LIMIT 0, 30";
    //echo $sql4."<br>";
    //$status4=mysql_query("$sql4") or die (mysql_error());
    //while ($row4 = mysql_fetch_array($status4)){
   
       
    //    $daycount=$daycount+1;
    //    $daycount2=$daycount2+1;
       
    //    if (daycount2<8){
    //        $creditsum2=$creditsum2+$row4['credit_day'];
    //    }
    //    $creditsum=$creditsum+$row4['credit_day'];
    //    $lastrow=$row4['credit_day'];
        //echo $creditsum." ".$row4['credit_day']." ";
       
   
    //}
   
   
    $sql3 = "INSERT INTO xml_teams_average_7 (dato, avg7, avg30, teamid, project) VALUES (".date("Ymd", $yesterday).", ".$avgday7.", ".$avgday30.", ".$row['teamid'].", '".$updateproject."')";
    //echo $sql3."<br>";
    //echo "- tilføjer avg day<br>";
    mysql_query("$sql3") or die (mysql_error());
   
    // AVERAGE DAY 30
    //$creditsum=0;
    //$daycount=0;
   
    //$sql4 = "SELECT * FROM xml_teams_credit_day WHERE (teamid = ".$row['teamid'].") AND (project = '".$updateproject."') ORDER BY dato DESC LIMIT 0, 30";
    //echo $sql4."<br>";
    //$status4=mysql_query("$sql4") or die (mysql_error());
    //while ($row4 = mysql_fetch_array($status4)){
   
       
        //$daycount=$daycount+1;
       
        //$creditsum=$creditsum+$row4['credit_day'];
        //$lastrow=$row4['credit_day'];
        //echo $creditsum." ".$row4['credit_day']." ";
       
   
    //}
   
   
    //$sql3 = "UPDATE xml_teams_average_7 SET avg30 = ".$avgday30." WHERE (dato = ".date("Ymd", $yesterday).") AND (teamid = ".$row['teamid'].") AND (project = '".$updateproject."')";
    //echo $sql3."<br>";
    //echo "- tilføjer avg day 7 & 30<br>";
    //mysql_query("$sql3") or die (mysql_error());
   
    // YEARS TOTAL
    $yearstotal=((((($totalcredit*1728000)/(1000+1000))/60)/60)/24)/365;
    //echo "total ".$yearstotal;
   
    // YEARS DAILY
    $yearsdaily=(((((($daycredit)*1728000)/(1000+1000))/60)/60)/24)/365;
    //echo " daily ".$yearsdaily;
   
    // YEARS AVERAGE
    $yearsavg=((((((($average122)*1728000)/(1000+1000))/60)/60)/24)/365);
    //echo " avg ".$yearsdaily."<br>";
   
    $sql3 = "INSERT INTO xml_teams_years (dato, total, day, average, teamid, project) VALUES (".date("Ymd", $yesterday).", ".$yearstotal.", ".$yearsdaily.", ".$yearsavg.", ".$row['teamid'].", '".$updateproject."')";
    //echo $sql3."<br>";
    //echo "- tilføjer years total, daily & avg<br>";
    mysql_query("$sql3") or die (mysql_error());
   
    //CREATE FORECAST TEMP
    //echo "total ".$totalcredit[$row3['teamid']];
    //echo " rac ".$teamrac[$row3['teamid']];
    //echo " avg122 ".$average122[$row3['teamid']];
    //echo " avg7 ".$average7[$row3['teamid']]."<br>";
    $pred_t_122 = $totalcredit + $average122;
    $pred_7_122 = $totalcredit + ($average122 * 7);
    $pred_30_122 = $totalcredit + ($average122 * 30);
    $pred_t_7 = $totalcredit + $average7;
    $pred_7_7 = $totalcredit + ($average7 * 7);
    $pred_30_7 = $totalcredit + ($average7 * 30);
    $pred_t_rac = $totalcredit + $teamrac;
    $pred_7_rac = $totalcredit + ($teamrac * 7);
    $pred_30_rac = $totalcredit + ($teamrac * 30);
   
    //echo "predictions by avg122 : tomorrow: ".$pred_t_122." in 7 days: ".$pred_7_122." in 30 days: ".$pred_30_122."<br>";
    //echo "predictions by avg7 : tomorrow: ".$pred_t_7." in 7 days: ".$pred_7_7." in 30 days: ".$pred_30_7."<br>";
    //echo "predictions by rac : tomorrow: ".$pred_t_rac." in 7 days: ".$pred_7_rac." in 30 days: ".$pred_30_rac."<br>";
   
    $sql5 = "INSERT INTO xml_teams_forecast_temp (dato, tomorrow122, tomorrow7, tomorrowrac, seven122, seven7, sevenrac, thirty122, thirty7, thirtyrac, teamid, project) VALUES (".date("Ymd", $yesterday).", ".$pred_t_122.", ".$pred_t_7.", ".$pred_t_rac.", ".$pred_7_122.", ".$pred_7_7.", ".$pred_7_rac.", ".$pred_30_122.", ".$pred_30_7.", ".$pred_30_rac.", ".$row['teamid'].", '".$updateproject."')";
    //echo $sql5."<br>";
   
    //echo "- genererer temp predictions for ".$row3['teamid']."<br>";
    mysql_query("$sql5") or die (mysql_error());
   
}
// WORLD RANK CREDIT
$sql4 = "SELECT teamid FROM xml_teams_totalcredit WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $yesterday).") ORDER BY total_credit DESC";
$totalcreditrank=0;

$status4=mysql_query("$sql4") or die (mysql_error());
while ($row4 = mysql_fetch_array($status4)){
   
    $totalcreditrank+=1;
    echo "part two - /// ".$totalcreditrank." /// ";
    //echo $row4['teamid']." is ranked at ".$totalcreditrank." as a result of having ".$row4['total_credit']." credits<br>";
    $sql3 = "INSERT INTO xml_teams_worldrank (worldrank, dato, teamid, project) VALUES (".$totalcreditrank.", ".date("Ymd", $yesterday).", ".$row4['teamid'].", '".$updateproject."')";
    //echo $sql3."<br>";
   
    //echo "- tilføjer total credit world rank for ".$row4['teamid']."<br>";
    mysql_query("$sql3") or die (mysql_error());
   
}

// get amount of teams
$result9=mysql_query("SELECT Count(id) AS Antal FROM xml_teams_list WHERE project = '".$updateproject."'");
$row9 = mysql_fetch_assoc($result9);
$teamcount = $row9['Antal'];
echo "<br>".$teamcount."<br>";
       
       

$sql3 = "SELECT teamid FROM xml_teams_list WHERE project = '".$updateproject."'";


$status3=mysql_query("$sql3") or die (mysql_error());
while ($row3 = mysql_fetch_array($status3)){
    echo "part three - /// ".$row3['teamid']." /// ";
// WORLD RANK CREDIT CHANGE
    $dayrank=array(2);
    $dayrank[0]=0;
    $dayrank[1]=0;
    $x=0;
    $sql4 = "SELECT worldrank FROM xml_teams_worldrank WHERE (project = '".$updateproject."') AND (teamid = ".$row3['teamid'].") ORDER BY dato DESC LIMIT 2";
    //echo $sql4."<br>";
    $status4=mysql_query("$sql4") or die (mysql_error());
    while ($row4 = mysql_fetch_array($status4)){
   
        $dayrank[$x]=$row4['worldrank'];
        //echo "rank at ".$row4['dato'].": ".$dayrank[$x]."<br>";
        $x+=1;
   
    }
    $rankchange=$dayrank[1]-$dayrank[0];
    $sql5 = "UPDATE xml_teams_worldrank SET changed = ".$rankchange." WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $yesterday).") AND (teamid = ".$row3['teamid'].")";
    //echo $sql5."<br>";
    mysql_query("$sql5") or die (mysql_error());
    //echo "- tilføjer worldrank change for ".$row3['teamid']."<br>";
   
    // MORE THAN ALL
    $morethanall=(($teamcount-$dayrank[0])/$teamcount)*100;
    //echo $dayrank[0]." ".$teamcount." ".$morethanall."<br>";
    $sql5 = "INSERT INTO xml_teams_morethanall (morethan, dato, teamid, project) VALUES (".$morethanall.", ".date("Ymd", $yesterday).", ".$row3['teamid'].", '".$updateproject."')";
    //echo $sql5."<br>";
   
    //echo "- tilføjer more than all for ".$row3['teamid']."<br>";
    mysql_query("$sql5") or die (mysql_error());
   
   
   
}

// TEAM FORECASTS
$tomorrowdate=mktime(0, 0, 0, date("m")  , date("d"), date("Y"));
$sevendate=mktime(0, 0, 0, date("m")  , date("d")+6, date("Y"));
$thirtydate=mktime(0, 0, 0, date("m")  , date("d")+29, date("Y"));
$sql4 = "SELECT teamid FROM xml_teams_forecast_temp WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $yesterday).") ORDER BY tomorrow122 DESC";
$totalcreditrank=0;

$status4=mysql_query("$sql4") or die (mysql_error());
while ($row4 = mysql_fetch_array($status4)){
   
    $totalcreditrank+=1;
    echo "part four - /// ".$totalcreditrank." /// ";
    //echo $row4['teamid']." is predicted to rank at ".$totalcreditrank." as a result of having ".$row4['tomorrow122']." credits at date: ".date("Y-md-", $tomorrowdate)." (122)<br>";
    $teamidarray_t_122[$row4['teamid']]=$totalcreditrank;
   
    //$sql3 = "UPDATE xml_teams_worldrank SET forecast_t_a_122 =".$totalcreditrank." WHERE (project = '".$updateproject."') AND (teamid = ".$row4['teamid'].") AND (dato = ".date("Ymd", $yesterday).")";
    //echo $sql3."<br>";
   
    //echo "- tilføjer total credit world rank for ".$row4['teamid']."<br>";
    //mysql_query("$sql3") or die (mysql_error());
   
}
$sql4 = "SELECT teamid FROM xml_teams_forecast_temp WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $yesterday).") ORDER BY tomorrow7 DESC";
$totalcreditrank=0;

$status4=mysql_query("$sql4") or die (mysql_error());
while ($row4 = mysql_fetch_array($status4)){
   
    $totalcreditrank+=1;
    echo "part five - /// ".$totalcreditrank." /// ";
    //echo $row4['teamid']." is predicted to rank at ".$totalcreditrank." as a result of having ".$row4['tomorrow7']." credits at date: ".date("Y-m-d", $tomorrowdate)." (7)<br>";
    $teamidarray_t_7[$row4['teamid']]=$totalcreditrank;
   
    //$sql3 = "UPDATE xml_teams_worldrank SET forecast_t_a_7 =".$totalcreditrank." WHERE (project = '".$updateproject."') AND (teamid = ".$row4['teamid'].") AND (dato = ".date("Ymd", $yesterday).")";
    //$sql3 = "INSERT INTO xml_teams_worldrank (worldrank, dato, teamid, project) VALUES (".$totalcreditrank.", ".date("Ymd", $yesterday).", ".$row4['teamid'].", '".$updateproject."')";
    //echo $sql3."<br>";
   
    //echo "- tilføjer total credit world rank for ".$row4['teamid']."<br>";
    //mysql_query("$sql3") or die (mysql_error());
   
}
$sql4 = "SELECT teamid FROM xml_teams_forecast_temp WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $yesterday).") ORDER BY tomorrowrac DESC";
$totalcreditrank=0;

$status4=mysql_query("$sql4") or die (mysql_error());
while ($row4 = mysql_fetch_array($status4)){
   
    $totalcreditrank+=1;
    echo "part six - /// ".$totalcreditrank." /// ";
    //echo $row4['teamid']." is predicted to rank at ".$totalcreditrank." as a result of having ".$row4['tomorrowrac']." credits at date: ".date("Y-m-d", $tomorrowdate)." (rac)<br>";
    $teamidarray_t_rac[$row4['teamid']]=$totalcreditrank;
   
    //$sql3 = "UPDATE xml_teams_worldrank SET forecast_t_rac =".$totalcreditrank." WHERE (project = '".$updateproject."') AND (teamid = ".$row4['teamid'].") AND (dato = ".date("Ymd", $yesterday).")";
    //$sql3 = "INSERT INTO xml_teams_worldrank (worldrank, dato, teamid, project) VALUES (".$totalcreditrank.", ".date("Ymd", $yesterday).", ".$row4['teamid'].", '".$updateproject."')";
    //echo $sql3."<br>";
   
    //echo "- tilføjer total credit world rank for ".$row4['teamid']."<br>";
    //mysql_query("$sql3") or die (mysql_error());
   
}
$sql4 = "SELECT teamid FROM xml_teams_forecast_temp WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $yesterday).") ORDER BY seven122 DESC";
$totalcreditrank=0;

$status4=mysql_query("$sql4") or die (mysql_error());
while ($row4 = mysql_fetch_array($status4)){
   
    $totalcreditrank+=1;
    echo "part seven - /// ".$totalcreditrank." /// ";
    //echo $row4['teamid']." is predicted to rank at ".$totalcreditrank." as a result of having ".$row4['seven122']." credits at date: ".date("Y-m-d", $sevendate)." (122)<br>";
    $teamidarray_7_122[$row4['teamid']]=$totalcreditrank;
   
    //$sql3 = "UPDATE xml_teams_worldrank SET forecast_7_a_122 =".$totalcreditrank." WHERE (project = '".$updateproject."') AND (teamid = ".$row4['teamid'].") AND (dato = ".date("Ymd", $yesterday).")";
    //$sql3 = "INSERT INTO xml_teams_worldrank (worldrank, dato, teamid, project) VALUES (".$totalcreditrank.", ".date("Ymd", $yesterday).", ".$row4['teamid'].", '".$updateproject."')";
    //echo $sql3."<br>";
   
    //echo "- tilføjer total credit world rank for ".$row4['teamid']."<br>";
    //mysql_query("$sql3") or die (mysql_error());
   
}
$sql4 = "SELECT teamid FROM xml_teams_forecast_temp WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $yesterday).") ORDER BY seven7 DESC";
$totalcreditrank=0;

$status4=mysql_query("$sql4") or die (mysql_error());
while ($row4 = mysql_fetch_array($status4)){
   
    $totalcreditrank+=1;
    echo "part eight - /// ".$totalcreditrank." /// ";
    //echo $row4['teamid']." is predicted to rank at ".$totalcreditrank." as a result of having ".$row4['seven7']." credits at date: ".date("Y-m-d", $sevendate)." (7)<br>";
    $teamidarray_7_7[$row4['teamid']]=$totalcreditrank;
   
    //$sql3 = "UPDATE xml_teams_worldrank SET forecast_7_a_7 =".$totalcreditrank." WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $yesterday).") AND (teamid = ".$row4['teamid'].")";
    //$sql3 = "INSERT INTO xml_teams_worldrank (worldrank, dato, teamid, project) VALUES (".$totalcreditrank.", ".date("Ymd", $yesterday).", ".$row4['teamid'].", '".$updateproject."')";
    //echo $sql3."<br>";
   
    //echo "- tilføjer total credit world rank for ".$row4['teamid']."<br>";
    //mysql_query("$sql3") or die (mysql_error());
   
}
$sql4 = "SELECT teamid FROM xml_teams_forecast_temp WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $yesterday).") ORDER BY sevenrac DESC";
$totalcreditrank=0;

$status4=mysql_query("$sql4") or die (mysql_error());
while ($row4 = mysql_fetch_array($status4)){
   
    $totalcreditrank+=1;
    echo "part nine - /// ".$totalcreditrank." /// ";
    //echo $row4['teamid']." is predicted to rank at ".$totalcreditrank." as a result of having ".$row4['sevenrac']." credits at date: ".date("Y-m-d", $sevendate)." (rac)<br>";
    $teamidarray_7_rac[$row4['teamid']]=$totalcreditrank;
   
    //$sql3 = "UPDATE xml_teams_worldrank SET forecast_7_rac =".$totalcreditrank." WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $yesterday).") AND (teamid = ".$row4['teamid'].")";
    //$sql3 = "INSERT INTO xml_teams_worldrank (worldrank, dato, teamid, project) VALUES (".$totalcreditrank.", ".date("Ymd", $yesterday).", ".$row4['teamid'].", '".$updateproject."')";
    //echo $sql3."<br>";
   
    //echo "- tilføjer total credit world rank for ".$row4['teamid']."<br>";
    //mysql_query("$sql3") or die (mysql_error());
   
}
$sql4 = "SELECT teamid FROM xml_teams_forecast_temp WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $yesterday).") ORDER BY thirty122 DESC";
$totalcreditrank=0;

$status4=mysql_query("$sql4") or die (mysql_error());
while ($row4 = mysql_fetch_array($status4)){
   
    $totalcreditrank+=1;
    echo "part ten - /// ".$totalcreditrank." /// ";
    //echo $row4['teamid']." is predicted to rank at ".$totalcreditrank." as a result of having ".$row4['thirty122']." credits at date: ".date("Y-m-d", $thirtydate)." (122)<br>";
    $teamidarray_30_122[$row4['teamid']]=$totalcreditrank;
   
    //$sql3 = "UPDATE xml_teams_worldrank SET forecast_30_a_122 =".$totalcreditrank." WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $yesterday).") AND (teamid = ".$row4['teamid'].")";
    //$sql3 = "INSERT INTO xml_teams_worldrank (worldrank, dato, teamid, project) VALUES (".$totalcreditrank.", ".date("Ymd", $yesterday).", ".$row4['teamid'].", '".$updateproject."')";
    //echo $sql3."<br>";
   
    //echo "- tilføjer total credit world rank for ".$row4['teamid']."<br>";
    //mysql_query("$sql3") or die (mysql_error());
   
}
$sql4 = "SELECT teamid FROM xml_teams_forecast_temp WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $yesterday).") ORDER BY thirty7 DESC";
$totalcreditrank=0;

$status4=mysql_query("$sql4") or die (mysql_error());
while ($row4 = mysql_fetch_array($status4)){
   
    $totalcreditrank+=1;
    echo "part eleven - /// ".$totalcreditrank." /// ";
    //echo $row4['teamid']." is predicted to rank at ".$totalcreditrank." as a result of having ".$row4['thirty7']." credits at date: ".date("Y-m-d", $thirtydate)." (7)<br>";
    $teamidarray_30_7[$row4['teamid']]=$totalcreditrank;
   
    //$sql3 = "UPDATE xml_teams_worldrank SET forecast_30_a_7 =".$totalcreditrank." WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $yesterday).") AND (teamid = ".$row4['teamid'].")";
    //$sql3 = "INSERT INTO xml_teams_worldrank (worldrank, dato, teamid, project) VALUES (".$totalcreditrank.", ".date("Ymd", $yesterday).", ".$row4['teamid'].", '".$updateproject."')";
    //echo $sql3."<br>";
   
    //echo "- tilføjer total credit world rank for ".$row4['teamid']."<br>";
    //mysql_query("$sql3") or die (mysql_error());
   
}
$sql4 = "SELECT teamid FROM xml_teams_forecast_temp WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $yesterday).") ORDER BY thirtyrac DESC";
$totalcreditrank=0;

$status4=mysql_query("$sql4") or die (mysql_error());
while ($row4 = mysql_fetch_array($status4)){
   
    $totalcreditrank+=1;
    echo "part twelve - /// ".$totalcreditrank." /// ";
    //echo $row4['teamid']." is predicted to rank at ".$totalcreditrank." as a result of having ".$row4['thirtyrac']." credits at date: ".date("Y-m-d", $thirtydate)." (rac)<br>";
    $teamidarray_30_rac[$row4['teamid']]=$totalcreditrank;
   
    //$sql3 = "UPDATE xml_teams_worldrank SET forecast_30_rac =".$totalcreditrank." WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $yesterday).") AND (teamid = ".$row4['teamid'].")";
    //$sql3 = "INSERT INTO xml_teams_worldrank (worldrank, dato, teamid, project) VALUES (".$totalcreditrank.", ".date("Ymd", $yesterday).", ".$row4['teamid'].", '".$updateproject."')";
    //echo $sql3."<br>";
   
    //echo "- tilføjer total credit world rank for ".$row4['teamid']."<br>";
    //mysql_query("$sql3") or die (mysql_error());
   
}

echo $totalcreditrank."<br>";
//$x=0;
$sql4 = "SELECT * FROM xml_teams_forecast_temp WHERE (dato = ".date("Ymd", $yesterday).") AND (project = '".$updateproject."')";
$totalcreditrank=0;

$status4=mysql_query("$sql4") or die (mysql_error());
while ($row4 = mysql_fetch_array($status4)){
   
    //echo "(".$teamidarray_t_122[$x]." ".$teamidarray_t_7[$x]." ".$teamidarray_t_rac[$x]."/".$teamidarray_7_122[$x]." ".$teamidarray_7_7[$x]." ".$teamidarray_7_rac[$x]."/".$teamidarray_30_122[$x]." ".$teamidarray_30_7[$x]." ".$teamidarray_30_rac[$x].") - ";
    $sql5 = "UPDATE xml_teams_worldrank SET forecast_t_a_122 =".$teamidarray_t_122[$row4['teamid']].", forecast_t_a_7=".$teamidarray_t_7[$row4['teamid']].", forecast_t_rac=".$teamidarray_t_rac[$row4['teamid']].", forecast_7_a_122=".$teamidarray_7_122[$row4['teamid']].", forecast_7_a_7=".$teamidarray_7_7[$row4['teamid']].", forecast_7_rac=".$teamidarray_7_rac[$row4['teamid']].", forecast_30_a_122=".$teamidarray_30_122[$row4['teamid']].", forecast_30_a_7=".$teamidarray_30_7[$row4['teamid']].", forecast_30_rac=".$teamidarray_30_rac[$row4['teamid']]." WHERE (project = '".$updateproject."') AND (dato = ".date("Ymd", $yesterday).") AND (teamid = ".$row4['teamid'].")";
    //echo $sql5."<br>";
   
    echo "- tilføjer rank predictions for ".$row4['teamid']."<br>";
    mysql_query("$sql5") or die (mysql_error());
}

//echo "<br>".$totalcreditrank."<br>";

$sql5 = "UPDATE xml_project_totals SET totalprojectcredit_team = ".$totalprojectcredit.", totalnumberteams = ".$totalprojectteams." WHERE (dato = ".date("Ymd", $yesterday).") AND (project = '".$updateproject."')";
    //echo $sql5."<br>";
   
    echo "- tilføjer team totals for project ".$updateproject."<br>";
    mysql_query("$sql5") or die (mysql_error());

mysql_query("UPDATE runtimes SET endtime = NOW() WHERE (stattype = 'teams') AND (project = '".$updateproject."')");

mysql_close() or die (mysql_error());
?>
Avatar billede bgo Nybegynder
12. august 2005 - 15:55 #18
har ændret:

// TEAM LIST
    $count=0;
   
    $result2=mysql_query("SELECT Count(id) AS Antal FROM xml_teams_list WHERE (project = '".$updateproject."') AND (teamid = ".$row['teamid'].")");
    $row2 = mysql_fetch_assoc($result2);
    $count = $row2['Antal'];
    //$sql2 = "SELECT type FROM xml_teams_list WHERE (project = '".$updateproject."') AND (teamid = ".$row['teamid'].")";
   
    //$status2=mysql_query("$sql2") or die (mysql_error());
    //while ($row2 = mysql_fetch_array($status2)){
   
        //$sql3 = "UPDATE xml_teams_list SET type = ".$row['type'].", name = \"".str_replace("'","\'",$row['name'])."\", userid = ".$row['userid'].", founder_name = \"".$row['founder_name']."\", url = \"".$row['url']."\", country = \"".$row['country']."\", create_time = \"".$row['create_time']."\" WHERE (teamid = ".$row['teamid'].") AND (project = \"".$updateproject."\")";
       
        //echo "opdaterer ".$row['teamid']."<br>";
    //    $count+=1;
    //    $totalprojectteams+=1;
   
    ///}
    if ($count<1){
        $sql3= "INSERT INTO xml_teams_list (teamid, type, name, userid, founder_name, create_time, url, country, added, project) VALUES (".$row['teamid'].", ".$row['type'].", \"".str_replace("'","\'",$row['name'])."\", ".$row['userid'].", \"".$row['founder_name']."\", \"".$row['create_time']."\", \"".$row['url']."\", \"".$row['country']."\", ".date("Ymd", $yesterday).", \"".$updateproject."\")";
       
        //echo "opretter ".$row['teamid']."<br>";
        mysql_query($sql3) or die (mysql_error());
    }
    $totalprojectteams+=1;
Avatar billede bgo Nybegynder
12. august 2005 - 16:41 #19
åhh, ja. xml_teams_list er pt på 52272, og øges med under 100 om dagen (planlagt én gang om dagen, når jeg er kommet up-to-date). De øvrige, med undtagelse af xml_teams_week/month, øges med det antal hver dag (igen planlagt én gang om dagen).

Indeksering, er det noget jeg kan trigger selv, og i så fald hvordan?
Avatar billede bgo Nybegynder
16. august 2005 - 01:37 #20
Nå, jeg fandt ud af at indexere, og det skar ca. 10 timer af tiden. Jeg fik kørt 5 dages data igennem - men nu hvor den er igang med 6. dagen, ser det ud til at den er blevet lige så langsom igen.
Avatar billede nielle Nybegynder
16. august 2005 - 18:53 #21
Det er en stot klump kode du har, og jeg kan desværre ikke overskue den. Umiddelbart ville jeg tilråde at du skære den op i nogle mindre og mere overskuelige logiske bidder.
Avatar billede bgo Nybegynder
17. august 2005 - 00:52 #22
har jeg også tænkt på. det må blot bliver efter installering og afprøvning af den nye ram. Jeg har iøvrigt heller ikke fået fjernet al den gamle udkommenterede kode der er der
Avatar billede bgo Nybegynder
28. oktober 2005 - 16:22 #23
lukker
Avatar billede nielle Nybegynder
28. oktober 2005 - 22:24 #24
Nå?
Avatar billede bgo Nybegynder
29. oktober 2005 - 01:11 #25
ja, jeg har besluttet at kode det om, helt fra bunden.

Men der er point til dig og jacobdo her: http://exp.dk/spm/660062
Avatar billede nielle Nybegynder
29. oktober 2005 - 09:07 #26
Det var nu ikke fordi at jeg har vildt meget brug for point, men det er nu altså høfligt at sige tak og den slags i stedet for bare at *boom* lukke spørgsmålet og tage point tilbage.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester