PHP assoziatives Array in MySQL Datenbank

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • PHP assoziatives Array in MySQL Datenbank

    Hallöchen zusammen, hoffentlich könnt ihr mir helfen =).

    Ich habe vor eine Download-Datenbank zu programmieren.

    Ich muss zum Verständnis erstmal etwas weiter ausholen:

    Es gibt dieses PC-Spiel Starcraft2.
    Da kann man in kleinen Dateien nach einem gespielten Spiel ein "Replay" speichern. Dieses kann man laden und das Spiel nochmal ansehen.

    Es exisitiert ein PHP-Parser für diese Replaydateien:
    code.google.com/p/phpsc2replay/
    Der parst aus diesen Dateien, Spieler, Rasse, wer gewonnen hat, auf welcher Karte gespielt wurde, wielang die Spieldauer war etc.
    nach zu lesen in den parsables:
    code.google.com/p/phpsc2replay/wiki/Parseables

    Einzelne Funktionen die mir einfache Werte wiedergeben die ich in einer MySQL-Datenbank unter VARCHAR etc. ablegen kann sind einige dabei.
    Leider... ->
    Spieler, ihre Rasse, Farbe und soweiter angeht, wird durch den Parser mit einem Assoziativen Array abgehandelt.
    Meinetwegen:
    Spieler1 spielt als Zerg und hat die Farbe rot
    Spieler2 spielt als Terraner und hat die Farbe blau

    Ich weiss nun leider nicht wie ich ein assoziatives array da in eine Datenbank verwursteln soll. Ich hab für sowas natürlich schon gegoogelt und lösungansätze gefunden, wie z.B.
    Das assoziative Array im json-format in ein text-feld zu speichern und dann neu auszulesen (deserialisierung nennt man das oder so?).

    Leider weiss ich auch nicht wie man assoziative Arrays ins json format übergibt.

    Im Endeffekt solls fast so aussehen wie bei diesem Script, es ist ein anderes Spiel der gleichen Firma, in dem es auch Replays gibt, die in dem Script geparsed wurden und in eine Downloaddatenbank übergeben wurden.

    replays.orcishempire.de/

    nur halt für Starcraft2
  • Weißt du wie Datenbanken aufgebaut sind, also aus Tabellen mit Spalten und Zeilen?
    Ich denke, darin sollten sich eindimensionale Arrays super speichern lassen:

    Brainfuck-Quellcode

    1. |--------------------------------|
    2. |Spieler |Rasse |Farbe |
    3. |--------------------------------|
    4. |Spieler1 |Zerg |Rot |
    5. |--------------------------------|
    6. |Spieler2 |Terraner |Blau |
    7. |--------------------------------|

    Und wenn du später mittels mysql_fetch_assoc() die Daten wieder abfragst, dann hast du einen assoziativen Array mit den Spaltennamen als Feldnamen.
    Open Source --> Programmieren aus Leidenschaft :!:

    Ich stehe weder für privaten Support per PM noch über einen IM zur Verfügung. Danke.
  • falls sich die Daten je nach StarCraft Version aber ändern, und du 100% flexibel sein willst, dann kannst du auch einfach 2 Tabellen verwenden

    Tabelle1:
    datensatzid name

    Tabelle2:
    datensatzid schlüsselt wert

    damit kannst du alles speichern und bist flexibler als mit JSON - kannst also mit MySQL nach Werten Suchen, Gruppieren und ähnliches.