Die Sortier-Reihenfolge wird über das ORDER BY pos gemacht, dort gibt es die Möglichkeit ASC und DESC.
ORDER BY pos DESC
Was bisher ebenfalls noch ein Fehler produziert, ist das Anlegen eines neuen Beitrags (also erstmal nur mit den vorhanden spielen).
Mal zum Ablauf, vielleicht hab ich einen Fehler gemacht!
Dabei beziehe ich mich auf den Code aus dem Post.
Zeile 87 hier wird die Position des geklicken Elements aus der DB gelesen.
hier ist wohl ebenfalls ein Fehler, da das DB Feld news_id und nicht id heißt.
Zeile 87 sieht damit nun so aus:
$pos = db_result(db_query("SELECT pos FROM prefix_membercards WHERE news_id = ".id ),0);
Bsp: $pos = 3; (Angenommen)
Zeile 91 Zählt einfach alle Einträge
Bsp: $ges = 4; (Angenommen)
Zeile 94:
Wenn Aktion == UP dann "$np = $pos - 1" sonst "$np = $pos + 1"
Mögliche neue Positionen je nach Aktion
Bsp: (UP) $np = 3 - 1; $np = 2;
Bsp: (DOWN) $np = 3 + 1; $np = 4;
Zeile 97:
Wenn $np >= ($ges - 1) dann "$np = $ges - 1" sonst "$np = $np"
Bsp (UP): Frage, ist 2 >= (4 - 1) => FALSE, ist kleiner 3
--> $np = $np;
--> $np = 2;
Bsp (DOWN): Frage, ist 4 >= (4 - 1) => False, ist kleiner 4
--> $np = $np;
--> $np = 4;
Eintragen in die DB:
hier ist in Zeile 100 wieder ein Fehler
db_query("UPDATE prefix_membercards SET pos = ".$np." WHERE news_id = ".$id, true);
Zuletzt modifiziert von Revolution am 17.10.2013 - 13:57:23