Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [PHP] Mehrdimensionale Arrays übergeben (https://www.delphipraxis.net/21146-%5Bphp%5D-mehrdimensionale-arrays-uebergeben.html)

barnti 28. Apr 2004 14:17


[PHP] Mehrdimensionale Arrays übergeben
 
Hallo,

ich habe da mal ne Frage zu einem ganz anderen Thema:

Kann man in PHP4 mehrdimensionale Arrays in Formularen übergeben? Wenn ja, wie? Ein kleines Beispiel wäre großartig!

Danke!

Alexander 28. Apr 2004 15:01

Re: [PHP] Mehrdimensionale Arrays übergeben
 
Das müsstest du mit Sessions lösen können oder (eher ein Workaround finde ich, weil dreckig :mrgreen:) du gehst alls rows des Array durch und erzeugst jede Menge <input type="hidden">-Felder ;-)
Das sind jetzt so die einzigen Möglichkeiten, die mir einfallen...
Es kann natürlich auch noch bessere geben ;)

barnti 28. Apr 2004 15:11

Re: [PHP] Mehrdimensionale Arrays übergeben
 
Hi,

Zitat:

Zitat von Alexander
...
Es kann natürlich auch noch bessere geben ;)

Das hoffe ich, denn so ist das keine befriedigende Lösung. Meiner Meinung nach müsste es ab der Version 4.x funktionieren. Leider habe ich noch keine Hilfe zu diesem Thema gefunden...

Alexander 28. Apr 2004 15:14

Re: [PHP] Mehrdimensionale Arrays übergeben
 
Was hast du denn gegen die Lösung mit den Sessions?

barnti 28. Apr 2004 15:18

Re: [PHP] Mehrdimensionale Arrays übergeben
 
Hi,

nix! Aber wenn PHP das direkt unterstützt, warum auf Umwegen wandeln?

Chewie 28. Apr 2004 15:32

Re: [PHP] Mehrdimensionale Arrays übergeben
 
Zitat:

Zitat von barnti
Hi,

nix! Aber wenn PHP das direkt unterstützt, warum auf Umwegen wandeln?

Äh, Session werden von PHP direkt unterstützt. Der Weg über die hidden Inputs wäre der Umweg. Und der ist viel unsicherer, da die Daten zwischen dem Senden von dir und dem Empfangen geändert werden konnten und damit eigentlich noch mal auf Validität geprüft werden müssen. Bei Sessions musst du "nur" prüfen, ob die Session-ID gültig ist.

barnti 30. Apr 2004 07:33

Re: [PHP] Mehrdimensionale Arrays übergeben
 
Hi chewie,

ich meinte: wenn PHP die Übergabe von zweidimensionalen Arrays direkt unterstützt...

MarcusB 30. Apr 2004 08:43

Re: [PHP] Mehrdimensionale Arrays übergeben
 
Beschreib doch mal, was du konkret machen willst.

Ghostwalker 30. Apr 2004 08:45

Re: [PHP] Mehrdimensionale Arrays übergeben
 
Das Problem hat nix mit PHP zu tun sondern mit HTML. Es gibt keinen "Input-Type" für Mehrdimensionale Arrays...(wie es überhaupt keine Datentypen in HTML gibt.....)

Wie oben schon erwähnt wurde, kannst du das über Sessions lösen oder über vieeele Hiddens.

tuxic 30. Apr 2004 23:02

Re: [PHP] Mehrdimensionale Arrays übergeben
 
Zitat:

Zitat von barnti
Kann man in PHP4 mehrdimensionale Arrays in Formularen übergeben? Wenn ja, wie? Ein kleines Beispiel wäre großartig!

hmmm... also mehrdimensonal??? Das weiß ich nicht...
aber wie bei Stefan Münz geschrieben steht, kann man sozusagen einfache Array übergeben, indem man den selben Namen mit "[]" benuzt (sehr nützlich bei Checkboxen).
Öhm, ich weiß auch das man in die rechteckigen Klammern eine Zahl setzen kann... aber allerdings sowas funzt:
foo[1][2] das müsstst du dann mal ausprobieren :)

<input type="checkbox" name="del[]" value="79">

so, dann würde del halt ein Array in PHP sein (in diesem Fall dynamisch, weil in den [] keine Zahl steht)... versuch mal dein Glück :) - was anderes weiß ich auch ned...

crazynet24 30. Apr 2004 23:41

Re: [PHP] Mehrdimensionale Arrays übergeben
 
Eindimensional (oder auch sog. Listen) funktioniert die Übergabe durch Formulare.
Mehrdimensional (e.g. variable[x][y]) funktioniert nicht, wäre schön gewesen.

Der Hintergrund der ganzen Geschichte:
In einem Formular mit einer Tabelle sind Zeilenweise bei Bedarf Checkboxen anzukreuzen und ggf eine Menge auszuwählen.
Nach Abschicken des Formulars mit den Checkboxen müssen im nächsten Schritt die angekreuzten Zeilen mit den Mengen und Primärschlüsseln in die Datenbank geschrieben werden.
Da der Wert einer Checkbox aber nur übergeben wird, wenn im Herkunftsformular auch angekreuzt wurde, müssen danach die Checkboxen den Primärschlüsseln und Mengen wieder zugeordnet werden, da diese Wert eben nicht "Zeilensynchron" übertragen werden.

Bsp:
ID Menge gecheckt
47 5
49 4 49
50 6 50
63 5
70 5

Also hat der gecheckt-Array nur 2 Inhalte, die beiden Anderen haben 5.

Die ganze Aufgabe ist in Wirklichkeit noch einiges komplizierter, daher wären hier mehrdim. Arrays optimal, um pro Zeile alle Werte (ob vorhanden oder nicht, Checkbox) zu übertragen.

Gruss Peter

tuxic 1. Mai 2004 09:42

Re: [PHP] Mehrdimensionale Arrays übergeben
 
also wenn ich das richtig verstanden habe :zwinker: , ist dein Problem die zuordnung der Checkboxen zu den Indezies (verdammt, wie wird das Wort geschrieben)?

Ich habs bis jetzt immer immer über den Value der Chackbox geschaft, indem ich den Value der Checkbox gleich dem dazugehöhrigen Index gesezt hab.


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:27 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz