PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr (https://www.php-resource.de/forum/)
-   PHP Developer Forum (https://www.php-resource.de/forum/php-developer-forum/)
-   -   Wie kann ich relevante daten speichern (https://www.php-resource.de/forum/php-developer-forum/78675-wie-kann-ich-relevante-daten-speichern.html)

Manofwar 30-11-2006 21:35

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

Griecherus 30-11-2006 21:37

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.

jahlives 30-11-2006 21:38

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

Manofwar 30-11-2006 21:48

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

PHP-Desaster 01-12-2006 12:40

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!!

Manofwar 01-12-2006 12:41

jo aber wie mach ich den das
ich weis net welchen befehl ich nehmen soll^^

TobiaZ 01-12-2006 12:49

Woran willst du die brauchbaren und unbrauchbaren Daten denn unterscheiden?

Manofwar 01-12-2006 12:52

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

TobiaZ 01-12-2006 13:09

dann schau dir mal preg_match(_all)() an.

Manofwar 01-12-2006 13:57

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$trefferPREG_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?

TobiaZ 01-12-2006 14:40

:rtfm: :teach:

file() liefert ein array, keinen String!

Manofwar 01-12-2006 14:52

jo und wie kann ich es machen das man die datei in ein string einliest

TobiaZ 01-12-2006 14:53

mal selbst die suche, bzw das manual benutzen.

Manofwar 01-12-2006 16:03

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

Kropff 01-12-2006 16:33

PHP-Code:

$regex "/^Kills /"

z.b.

gruß
peter


Alle Zeitangaben in WEZ +2. Es ist jetzt 13:20 Uhr.

Powered by vBulletin® Version 3.8.2 (Deutsch)
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0
[c] ebiz-consult GmbH & Co. KG