Het gaat hier waarschijnlijk om een simpel vraagje in de ogen van de meesten van jullie, toch kan ik er zelf helemaal niet uitkomen
..
het script doet nu het volgende: ik heb een log, deze wordt uitgelezen, vervolgens gooi ik hieruit de hosts in $idarray en print ik uit.
nu wil ik het volgende nog: aangezien een member meerdere hosts kan hebben heb ik een mysql tabel gemaakt met daarin regels bestaande uit "host" en "member", er moeten nu dus nog stukken array worden samengevoegd (zodat op http://ruud.keyserver.org/test/subteam.php member1 op #1 en #3 bij elkaar worden opgeteld).
Ik heb het idee dat ik dit kan doen door op regel 49 een nieuwe array te beginnen met daarin membernamen en hun scores, maar dit wil me nog niet echt lukken (lees: echt niet), wie weet wel hoe het moet?
het script doet nu het volgende: ik heb een log, deze wordt uitgelezen, vervolgens gooi ik hieruit de hosts in $idarray en print ik uit.
nu wil ik het volgende nog: aangezien een member meerdere hosts kan hebben heb ik een mysql tabel gemaakt met daarin regels bestaande uit "host" en "member", er moeten nu dus nog stukken array worden samengevoegd (zodat op http://ruud.keyserver.org/test/subteam.php member1 op #1 en #3 bij elkaar worden opgeteld).
Ik heb het idee dat ik dit kan doen door op regel 49 een nieuwe array te beginnen met daarin membernamen en hun scores, maar dit wil me nog niet echt lukken (lees: echt niet), wie weet wel hoe het moet?
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
| <? set_time_limit(0); $logmap="C:"; $totaal=0; $teller=1; $mysqluser="*******"; $mysqlpw="*******"; $tabelnaam=memberstats; mysql_connect("localhost","$mysqluser","$mysqlpw"); mysql_select_db("proxy"); //open result.csv //knip maar raak tot enkel de hosts overblijven $iparray=array(); $log=fopen("$logmap\\Result.csv",'r'); if ($log){ while(!feof($log)){ // regel voor regel wordt de log doorgenomen, de regel wordt in stukken gehakt bij de komma, daarna wordt van het // ip het id-nummer afgehaald. $logregel=fgets($log,1024); $uitkomst = split (",,,",$logregel); $uitkomst2 = split (",",$uitkomst[1]); // als het id bestaat (dus geen witregel oid), wordt deze aan de array toegevoegd) if ($uitkomst2[1])$iparray[]=$uitkomst2[1]; // de id's die meerdere keren voorkomen worden opgeteld } $idarray= array_count_values ($iparray); } else print "heb logfile niet kunnen openen"; print "<TABLE border=1>"; print "<TR><TD>Rank</TD><TD>Host</TD><TD>WorkUnits</TD></TR>"; //array wordt gesorteerd op aantal, hoogste eerst arsort($idarray); foreach ($idarray as $uitkomst2[1]=>$value){ $bla = mysql_fetch_array(mysql_query("SELECT member as naam FROM $tabelnaam WHERE host LIKE '$uitkomst2[1]'")); if ($bla) { extract($bla); } else { $naam = $uitkomst2[1]; } print "<TR><TD><center>$teller</center></TD><TD>$naam </TD><TD><center>$value</center></TD></TR>"; $teller++; $totaal=$totaal+$value; } print "<TR><TD> </TD><TD><b>Totaal:</b></TD><TD><b><center>$totaal</center></b></TD></TR>"; print "</TABLE>"; ?> |