Wie kann ich relevante daten speichern

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • 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

  • #2
    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.
    Nieder mit der Camel Case-Konvention

    Kommentar


    • #3
      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
      Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

      [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
      Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

      Kommentar


      • #4
        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

        Kommentar


        • #5
          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!!

          Kommentar


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

            Kommentar


            • #7
              Woran willst du die brauchbaren und unbrauchbaren Daten denn unterscheiden?

              Kommentar


              • #8
                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

                Kommentar


                • #9
                  dann schau dir mal preg_match(_all)() an.

                  Kommentar


                  • #10
                    ok habs versucht allerdings kommt immer das hier
                    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?

                    Kommentar


                    • #11


                      file() liefert ein array, keinen String!

                      Kommentar


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

                        Kommentar


                        • #13
                          mal selbst die suche, bzw das manual benutzen.

                          Kommentar


                          • #14
                            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

                            Kommentar


                            • #15
                              PHP-Code:
                              $regex "/^Kills /"
                              z.b.

                              gruß
                              peter
                              Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                              Meine Seite

                              Kommentar

                              Lädt...
                              X