select options werden nicht in richtiger Reihenfolge übergeben?
Echt Holler
- php
0 ulimativ0 Echt Holler0 ulimativ
Krüäzi
Ich habe ein multiple select Feld, in das Benutzer dynamisch per Javascript options eintragen können.
Sie können auch einzelne options in der Liste nach oben und unten verschieben.
Mein Problem ist jetzt, dass PHP beim Übertragen der Daten, die select options immer in der Reihenfolge belässt, wie sie vom Benutzer eingegeben wurden.
Bsp:
Der Benutzer gibt hintereinander 'test1','test2','test3' ein und verschiebt dann 'test1' hinunter, sodass dann im select Feld 'test2','test1','test3' steht.
PHP überträgt die Daten dann aber so, dass bei einer erneuten Ausgabe wieder 'test1','test2','test3' ausgegeben wird.
Woran kann das liegen?
gruß vom holler
Hi, etwas genauer bitte...
Der Benutzer gibt hintereinander 'test1','test2','test3' ein und verschiebt dann 'test1' hinunter, sodass dann im select Feld 'test2','test1','test3' steht.
PHP überträgt die Daten dann aber so, dass bei einer erneuten Ausgabe wieder 'test1','test2','test3' ausgegeben wird.
Wie und wo werden denn die options gespeichert? In einer Datenbank oder in einem Textfeld? Wie werden Sie wieder eingelesen?
Die gespeicherten options sollten halt schon mit einer gewissen Logik gespeichert werdem.
gruß Uli
Wenn sie fertig eingetragen werden, werden sie in einer MySQL Datenbank gespeichert, in der Reihenfolge, in der PHP sie liefert.
Wie gesagt habe ich im Formular ein multiple select Feld.
Darunter ein input="text" wo man Text eingeben kann, der dann per Klick auf den Button "Einfügen" als option ins select Feld eingefügt wird.
Das läuft alles mit Javascript.
Wenn der Benutzer jetzt hintereinander 'test1', 'test2' und 'test3' eingibt steht im select Feld
test1
test2
test3
Nun hat man noch die Möglichkeit die options zu verschieben.
Verschiebt man zb test1 um eins nach unten steht dann im select Feld
test2
test1
test3
Und da macht PHP den Fehler, denn wenn ich mir die options auf der Zielseite mit einer for() Schleife ausgeben lasse, steht da wieder
test1
test2
test3
Vielleicht schickt auch der Browser die Daten falsch, ich weiß eben nicht weiter :(
Jo,
Vielleicht schickt auch der Browser die Daten falsch, ich weiß eben nicht weiter :(
Dann lass Dir doch mal im PHP-Script die Daten ausgeben
var_dump($HTTP_POST_VARS);
Dann siehst schonmal wie die Daten ankommen und dann kannste einen Fehler hinsichtlich PHP schpon mal ausschliessen.
Wenn es am Js liegt:
Dein JavaScript müsste irgenwas in den Options speichern, das die Reihenfolge der Antworten eindeutig zuordnet. Das könnte man zum Bsp. über das Attribut id machen, dass bei jeder Verschiebung dann halt neu gesetzt werden muss. So könnte man mit PHP die Reihenfolge wiederherstellen.
Uli