Hallo!
Ich habe unter anderem Felder mit Zahlen angelegt. Diese sind auch als Feldtyp "Zahl" erstellt worden. Wenn ich nun eine Liste machen lasse und diese nach einer solchen Spalte sortieren lasse, werden die Zahlen falsch sortiert. (glaube so, als wenn die Spalte in der Datenbank als Textfeld gespeichert wurde?!?)
Er sortiert dann etwa so:
1
10
100
2
20
3
30
300
...
Allerdings will ich auch nicht ausschließen, dass ich einfach zu doof bin, irgendeine Einstellung zu ändern. Von daher: kann mir jemand diesen Fehler bestätigen?
Ich nutze die Version 1.4.7, glaube aber alle Zahlenfelder wurden schon vorher erstellt.
Falsche Sortierung bei Zahlenfeldern
Hi Tobsen,
dieser "Fehler" ist tatsächlich drin. Das liegt daran, dass bei uns alle eigenen Felder intern als Textfeld gespeichert werden, egal welchen Inhalt sie haben. Sagt man der Datenbank, sie soll danach sortieren, werden Textfelder in dieser Reihenfolge ausgegeben.
Im Moment weiß ich da auch noch nicht, wie man das lösen kann.
Gruß
Fasse
dieser "Fehler" ist tatsächlich drin. Das liegt daran, dass bei uns alle eigenen Felder intern als Textfeld gespeichert werden, egal welchen Inhalt sie haben. Sagt man der Datenbank, sie soll danach sortieren, werden Textfelder in dieser Reihenfolge ausgegeben.
Im Moment weiß ich da auch noch nicht, wie man das lösen kann.
Gruß
Fasse
Als geeigneten "Temorary Workaround" für solche Fälle: Zahlen mit führende Nullen ergänzen, also 001, 002, 012, 097, 112, 123 usw. Dabei Stellenzahl entsprechend dem grössten zu erwartendem Wert inkl. Reserve für künfige Einträge anpassen.
Teste die PC-Sicherheit mit www.sec-check.net
Hatte ich auch schon überlegt. Da ist nur das Problem, dass die führenden Nullen einfach weggekürzt werden (was ja eigentlich auch korrekt ist). Außerdem habe ich später auch vor, alle Spielernummern mit anzuzeigen und dann sieht es seltsam aus, wenn da immer noch eine 0 davor steht.dreael hat geschrieben:Als geeigneten "Temorary Workaround" für solche Fälle: Zahlen mit führende Nullen ergänzen, also 001, 002, 012, 097, 112, 123
Wie an anderer Stelle schon erwähnt, ist mein Wissen in PHP/MySQL etwa genauso ausgeprägt, wie der Jagdinstinkt eines Regenwurmes. Aber, wenn man nun die "falsche Sortierung" normal ausliest, ist es dann möglich, das ganze irgendwie in ein Array zu packen und dann nochmal über PHP zu sortieren?!? Dann könnte vielleicht das hier interessant sein:
http://www.php.net/manual/de/function.natsort.php
Tobi
Ich kann es leider frühestens am WE testen. Und selbst dann würde das bei mir wahrscheinlich eh in die Hose gehen.