PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks. |
 |
|

30-11-2006, 21:35
|
Manofwar
Junior Member
|
|
Registriert seit: Nov 2006
Beiträge: 130
|
|
Wie kann ich relevante daten speichern
Hi
ich habe Daten in ein Arrey einlesen und auch durchlaufenlassen
wie schaff ich es nun das das php script relevante daten findet und diese speichert
|

30-11-2006, 21:37
|
Griecherus
PHP Senior
|
|
Registriert seit: May 2005
Ort: Berlin
Beiträge: 1.036
|
|
Unpräziser geht es nicht mehr... Beschreibe dein Problem mal genauer und am besten auch anhand zumindest halbwegs konkreten Codes, dann kann dir auch eventuell geholfen werden.
|

30-11-2006, 21:38
|
jahlives
Master  
|
|
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.279
|
|
Erklär mal ein bisschen ausführlicher was du vor hast. Wenn du die Daten bereits in einem Array hast, dann kannst du dieses ja z.B. in einer Textdatei abspeichern oder du verwendest dazu eine DB.
Relevante Daten musst du PHP erst beibringen was du darunter verstehst. Also irgendetwas mit einer Schleife und einem if/else Konstrukt.
Wie gesagt erklär mal genauer was du eigentlich vor hast.
Gruss
tobi
|

30-11-2006, 21:48
|
Manofwar
Junior Member
|
|
Registriert seit: Nov 2006
Beiträge: 130
|
|
jo habt recht ist sehr allgemein also auch nicht genau ausgedrückt
Also die vorgeschichte:
Ich kann kein/kaum (hab gerade angefangen es zu lernen ) php.
Ich habe einen Gameserver der logfiles produziert. Die sehen so aus:
Sschau hier
Nun will ich ein script machen das diese datei in eine db schreibt um von dieser aus wieder eine ranking zu erstellen.
So jetzt hab ich ein problem. Die datei ist eine txt Datei die immer erweitert wird wenn man auf dem server spielt und das 2. ist das auf dem gameserver es kein php gibt. Geht es vllt das man es so macht das ein php script alle 24 h diese datei auf meinen webspace kopiert und dann auswertet und die datei wieder auf dem server löscht also eben den inhalt da die datei ja auf dem server sein muss.
Nun und dann eben ein neues php script das dann nun diese Datei auswertet. Die sieht bis jetzt so aus.
PHP-Code:
<html>
<body>
<?php
$data = file("Statistics1.log");
foreach ($data as $line)
{
$values = explode(":", $line);
print_r($values);
}
$link = mysql_connect('host', 'name', 'password');
if (!$link) {
die('keine Verbindung möglich: ' . mysql_error());
}
echo 'Verbindung erfolgreich';
$db_selected = mysql_select_db('ranking', $link);
if (!$db_selected) {
die ('Kann ranking nicht benutzen : ' . mysql_error());
}
$result = mysql_query('SELECT * WHERE 1=1');
if (!$result) {
die('Ungültige Abfrage: ' . mysql_error());
}
?>
</body>
</html>
Allerdings weiß ich nicht wie ich nun die daten auswerte
Bis jetzt sieht es so aus was raus kommt
Schau hier
Aber da muss irgend wie noch etwas zwischen die einlesung in das array und das mit dem mysql.
mfg Manni
|

01-12-2006, 12:40
|
PHP-Desaster
PHP Expert
|
|
Registriert seit: Mar 2006
Beiträge: 3.105
|
|
joo, da musst du dein array aussortieren! alles, was du nicht brauchst, schmeißt du weg! und den rest sortierst du dir so ein, wie du es für die db brauchst!!
|

01-12-2006, 12:41
|
Manofwar
Junior Member
|
|
Registriert seit: Nov 2006
Beiträge: 130
|
|
jo aber wie mach ich den das
ich weis net welchen befehl ich nehmen soll^^
|

01-12-2006, 12:49
|
TobiaZ
 Moderator
|
|
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
|
|
Woran willst du die brauchbaren und unbrauchbaren Daten denn unterscheiden?
|

01-12-2006, 12:52
|
Manofwar
Junior Member
|
|
Registriert seit: Nov 2006
Beiträge: 130
|
|
nun es ist ja so auf gelistet wie in eine tabelle in der logfile nun will ich eben zb. servername und Gameing ( siehe logfiel ) das diese nicht in eine tabelle gemacht werden und eben falls die vielen === die eben nur als abgrenzung da sind
|

01-12-2006, 13:09
|
TobiaZ
 Moderator
|
|
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
|
|
dann schau dir mal preg_match(_all)() an.
|

01-12-2006, 13:57
|
Manofwar
Junior Member
|
|
Registriert seit: Nov 2006
Beiträge: 130
|
|
ok habs versucht allerdings kommt immer das hier
Zitat:
Warning: preg_match_all() expects parameter 2 to be string, array given in /kunden/130865_71282/webseiten/Untitled-4.php on line 13
|
der code sieht so aus
PHP-Code:
<html>
<body>
<?php
$html = file("Statistics1.log");
preg_match_all("/(<([\w]+)[^>]*>)(.*)(<\/\\2>)/", $html, $treffer, PREG_SET_ORDER);
foreach ($treffer as $wert) {
echo "gefunden: " . $wert[0] . "\n";
echo "Teil 1: " . $wert[1] . "\n";
echo "Teil 2: " . $wert[3] . "\n";
echo "Teil 3: " . $wert[4] . "\n\n";
}
?>
</body>
</html>
hab den code einfach mal wie im beispiel genommen um es auszuprobieren.
ach und noch ne frage das was bei dem preg_match_all in der () steht nach dem wird gesucht oder?
|

01-12-2006, 14:40
|
TobiaZ
 Moderator
|
|
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
|
|
file() liefert ein array, keinen String!
|

01-12-2006, 14:52
|
Manofwar
Junior Member
|
|
Registriert seit: Nov 2006
Beiträge: 130
|
|
jo und wie kann ich es machen das man die datei in ein string einliest
|

01-12-2006, 14:53
|
TobiaZ
 Moderator
|
|
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
|
|
mal selbst die suche, bzw das manual benutzen.
|

01-12-2006, 16:03
|
Manofwar
Junior Member
|
|
Registriert seit: Nov 2006
Beiträge: 130
|
|
so hab mal was gefunden und an meinem fall aus probiert
PHP-Code:
<html>
<body>
<?php
//DATEI NUR ZUM LESEN ÖFFNEN, DATEIZEIGER STEHT AM ANFANG:
$datei = fopen('Statistics1.log','r');
while (!feof($datei))
{
//GANZE ZEILE ALS EINEN STRING EINLESEN; DIE ZAHL GIBT DIE MAXIMALE LÄNGE IN BYTE AN:
$zeile = fgets($datei,1024);
$regex = "/Kills/iU";
if (preg_match_all($regex,$zeile,$matches,PREG_SET_ORDER))
{
foreach($matches as $match)
{
echo $zeile.'<br>';
}
}
}
?>
</body>
</html>
Nun gibt er mir aller dings alles aus was bei dem kills drin steckt wie kann ich das noch genauer machen das er nun nach kills sucht und nicht nach allen wörtern in denen kills enthalten sind
Ausgabe siehe hier
Und wie schaff ich es das er mir nicht nur kills sondern auch die player ( also den namen ) auflistet
am besten in der form
player kills deaths ...
und eben so weiter was man eben so braucht so das eben die kills und deaths dem player zugeordnet werden und man das dann einfach in eine db machen kann
|

01-12-2006, 16:33
|
Kropff
  Administrator
|
|
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.782
|
|
PHP-Code:
$regex = "/^Kills /";
z.b.
gruß
peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Thema bewerten |
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|