sunny: Daten mit bestimmter Struktur - wie am besten durchparsen?

Hallo!

Wie es der Betreff schon sagt, ich bekomme (per POST) jede Menge Daten an ein Script gesendet. Dieses soll die Daten verarbeiten - in eine Datenbank verspeichern.

Die Daten sehen folgendermaßen aus:

keyValuePairs&Hexzahl.Nummer.Code1.key1 = 'value1'
Hexzahl.Nummer.Code1.key2 = 'value2'
Hexzahl.Nummer.Code1.key3 = 'value3'
Hexzahl.Nummer.Code2.key1 = 'value1'
Hexzahl.Nummer.Code2.key2 = 'value2'
Hexzahl.Nummer.Code3.key1 = 'value1'

Wobei sich pro ankommendem POST diese Hexzahl und die Nummer nicht ändern. Der nachfolgende Code jedoch schon. Die erste Hexadezimalzahl ist eine eindeutige Identifikationsnummer, die für jeden von diesem Device gesendeten Post dieselbe ist. Die zweite Nummer steht für ein bestimmtes gesendetes Event und der Code dann für die zu diesem Event angelegten Formulare.

Wie parse ich das jetzt am sinnvollsten durch, um diese Daten in die DB zu bekommen?
An Tables würde ich mir erstmal einen für alle Hexzahlen vorstellen, einen für die Nummern der Events (mit dem ersten Table über einen Foreign Key verknüpft) und dann noch einen Table mit den gesamten Daten (die keys als Felder), ebenfalls mit einem Foreign Key, verknüpft zur Nummer.

Aber wie ich die Daten am besten per PHP abarbeiten kann, sodass ich sie zum Einfügen in meiner DB zur Verfügung habe, bereitet mir momentan noch ein wenig Kopfzerbrechen. Kann mir jemand helfen?

Lg
sunny

  1. Hi!

    Aber wie ich die Daten am besten per PHP abarbeiten kann, sodass ich sie zum Einfügen in meiner DB zur Verfügung habe, bereitet mir momentan noch ein wenig Kopfzerbrechen. Kann mir jemand helfen?

    Wenn ich Dein Ansinnen richtig interpretiere, suchst Du explode.

    off:PP

    --
    "You know that place between sleep and awake, the place where you can still remember dreaming?" (Tinkerbell)
    1. Hallo!

      Wenn ich Dein Ansinnen richtig interpretiere, suchst Du explode.

      Das ist richtig!
      Allerdings weiß ich nicht so recht wie. Ich bräuchte ja zuerst einmal alles getrennt nach Code. Dann alles was denselben Code hat, nochmal durch eine Schleife jagen und die Keys und Values auslesen. Das zweitere kann ich mir noch vorstellen, immer der String nach dem dritten Punkt bis zum Leerzeichen usw.
      Aber wie ich anfangen soll mit dem Auslesen, weiß ich nicht so recht. Vielleicht einfach "solange der Code derselbe ist" oder so. Dann müsste ich zuerst mal bei den Punkten exploden und mal die linken Teile in ein Array verspeichern. Aber was ist dann mit meinen Values? Ich weiß nicht so recht, wie ich das ordentlich machen soll.

      Lg
      sunny

      1. Hi!

        Wenn ich Dein Ansinnen richtig interpretiere, suchst Du explode.

        Das ist richtig!

        ltt[1]: was hast du bisher versucht?

        off:PP

        [1]let's talk tacheles

        --
        "You know that place between sleep and awake, the place where you can still remember dreaming?" (Tinkerbell)
        1. Hi!

          ltt[1]: was hast du bisher versucht?

          Ich bin im Moment beim Überlegen wie ich es am Besten angehe. Will auch keinen Quellcode hier bekommen, sondern war eher auf der Suche nach ein paar Anhaltspunkten wie ich das geschickt löse, ohne "dumm & dirty" herumzuprobieren.

          Meine Idee wäre zuerst einmal beim Punkt zu exploden und dann jeweils solange der Code derselbe ist durchzulaufen und "darin" dann nochmal zu exploden um meine Keys & Values zu bekommen. Werde das erstmal so versuchen, falls jemand eine bessere Variante kennt, wie ich mit diesen Daten umgehen kann (mir erscheint das etwas umständlich so), bitte Bescheid sagen.

          Lg
          sunny

          1. Hi!

            Wie kommen die Daten denn per POST an - eine oder mehrere Variablen?

            Habe jetzt noch mal Dein OP gelesen und der Teil ist mir nicht ganz klar.

            off:PP

            --
            "You know that place between sleep and awake, the place where you can still remember dreaming?" (Tinkerbell)
            1. Hallo!

              Wie kommen die Daten denn per POST an - eine oder mehrere Variablen?

              Es ist nur eine Variable, in welcher alles gesendet wird.

              Liebe Grüße
              sunny

              1. Hi!

                Hallo!

                Wie kommen die Daten denn per POST an - eine oder mehrere Variablen?

                Es ist nur eine Variable, in welcher alles gesendet wird.

                Ich nehme an, darauf hast Du keinen Einfluß, oder?

                Die Daten in Deinem Posting sehen zumindest 'zeilenorientiert' aus -ist das so, gibt es ein "\n" oder ähnliches am Ende jedes 'Datensatzes'?

                off:PP

                --
                "You know that place between sleep and awake, the place where you can still remember dreaming?" (Tinkerbell)
                1. Hallo!

                  Die Daten in Deinem Posting sehen zumindest 'zeilenorientiert' aus -ist das so, gibt es ein "\n" oder ähnliches am Ende jedes 'Datensatzes'?

                  Ja, sind sie. Aktuell explode ich zuerst bei Zeilenumbruch, dann beim " = ", danach noch "auf der linken Seite" beim Punkt. So habe ich zumindest mal alle meine Werte in Arrays verpackt und kannd das auch alles wieder ausgeben. Nun muss ich mir noch überlegen, wie ich das jetzt nach dem Entgegennehmen ordentlich in eine DB schreiben kann ohne alles redundant zu haben (erste Zahl, Nummer des Events und Code des Formulars). Schätze, ich werde dafür mal 4 Tables, jeweils über Foreign Keys verknüpft anlegen, aber das geht nun ja eigentlich schon über meine ursprüngliche Frage bezüglich Parsen hinaus ...

                  Lg
                  sunny