Onkel Schnitzel: JSON.stringify mit mehrdimensionalem Array -> undefined

Beitrag lesen

Technisch betrachtet generierst du mit PHP JavaScript-Code.

Ist das generell zu ächten? Ich fand das jetzt sehr praktisch, weil ich mein sqlResult ja ohnehin per while durchlaufe. Und in dem Zuge dachte ich mir, könnte ich auch mein JS-Array mit den Daten befüllen.

Damit erschaffst du ein unkontrollierbares Ungeheuer, das Hunde-Welpen tötet.

Ach herrje. Mit Hunden hab ichs zwar nich so, aber Welpen will ich nun auch nicht gerade töten :-/

Den ersten Parameter benutzt du als Array-Index in deinem JavaScript-Modell. Wenn diese Indizes nicht unmittelbar aufeinander folgen erzeugst du damit Löscher in deinem Array. Und Löschern muss man sich immer mit besonderer Aufmerksamkeit widmen, damit hast du ja schon Erfahrungen gemacht (length-Eigenschaft). Du kannst jetzt die Löscher bestehen lassen und Ausnahmenbehandlungen an allen Ecken und Enden hinzufügen, oder du passt deine Datenstruktur dahingehend an, dass sie keine Löscher mehr enthält.

Dafür ist's zu spät. Dafür müsste ich jetzt zu viel umschreiben. Ich denke, ich habe die Löcher im Griff, jetzt wo ich erstmal weiß, dass sie da sind. Mir war irgendwie abhanden gekommen, dass beim manuellen Erstellen von Keys ja trotzdem "leere" Keys dazwischen sind.

null steht überall da, wo dein Array eine Lücke hat.

Toll, wie sich nach und nach alles lichtet. Also nich im Array, in meinem Kopf mein ich :-)

Das heißt, du hast vor mit deinem JavaScript Daten an den Server zu übermitteln und du benutzt dazu JSON als Austauschformat. Das ist ne feine Sache, wenn du das noch weiterspinnst kommt dir vielleicht irgendwann der Gedanke, dass dein JavaScript sich die Daten auch schon im JSON-Format vom Server abholen kann. Damit kannst du den Hunde-Welpen-Killer wieder bändigen.

Hm naja, die geholten Daten werden ja noch verändert. Ich hole mir die Daten aus der DB ab und speichere Sie im JavaScript-Array. Dieses Array wird dann durch den Benutzer über ein Formular verändert und die veränderten Daten und Berechnungen werden direkt im Browser angezeigt - ohne Serverkommunikation, alles über das Array. Erst beim Absenden schicke ich das Array mit den IDs der Spieler und den zugehörigen Spieldaten an ein PHP-Script.

Jedenfalls funktioniert das Ganze jetzt erstmal, wie es soll. Jetzt kanns endlich weitergehen.

Vielen Dank nochmal für die Hilfe.

Onkel Schnitzel