mysql Reihenfolge festlegen

pflaume

Mitglied
Hallo!

Würde gerne die Reihnfolge von Datenbankeinträgen festelegen und im nachhinnein durch ein admin auch verändern können (auf und ab pfeile)

Hab mir dann gleich mal eine Datenbank eines phpBB boards angeschaut, dort kann man ja die Reihenfolge von Foren auch auf so eine Art und Weise verändern/festlegen.
Im phpBB stehen Zahlen wie 10, 20, 30 (also anscheinend immer * 10)
wobei 10 das oberste und 30 das unterste Forum ist.

Nun wollte ich fragen, was es mit diesen Zahlen auf sich hat (wieso nicht einach 1, 2, 3)
und ob es andere/bessere möglichkeiten gäbe.

Wie funktioniert das dann eigentlich, wenn ich zB ein punkt (zB 50) eine Reihe höher haben möchte? wird dann einfach aus 50, 50-10 und wo dann 40 ist 40 + 10
entstehen dann auch sicherlich keine Lücken :confused:

Danke danke,

pflaume
 
Also die Sortierung wird dann ja bereits bei der Auslese aus der Datenbank erfolgen, zB so

$sql = "SELECT * FROM threads ORDER BY sort DESC";

Jeder thread hätte dann eine sort Nummer 10, 20, 30 nach welchen sortiert wird. Wenn ein Admin dann ein Thread verschiebt musst du intern die Nummer entsprechend so verschieben, dass sie bei der Sortierung an die passende Stelle kommt.

Die Nummer wählt man also mit dem Abstand, damit Freiraum für eine neue Sortierung ist - Änderungen werden so einfacher.

Ein Beispiel:

thread 1 - sort=10
thread 2 - sort=20
thread 3 - sort=30

thread3 soll nun in die Mitte

thread 1 - sort=10
thread 3 - sort=15
thread 2 - sort=20



wenn du nun 1,2,3 vergibst musst du gleich mehrere Veränderungen ausführen.
 
hmm,
danke erstmal

das leuchtet mir aber nicht ganz ein, wenn du öffters veschiebst wird nach diesem schema doch irrgendwann eine kommazahl benötigt werden, oda :-)

naja, ich werd einfach mal ein bisschen rumprobieren
 
Zurück