Mailinglisten-Archive |
Simon Bienlein schrieb: > Hallo Sebastian, > >>> Beim Testen hatten die Spalten id und prio identische Werte (1, 2, >>> 3). Ich wollte den dritten Datensatz nach oben verschieben: >> oben? von pos 3 auf 2? > > Genau. Also statt der IDs 1, 2, 3 wäre es dann 1, 3, 2 gewesen. > >> dann müssen die anderen nach 'unten' rücken, nicht nach 'oben' >> also 2 auf 3 usw. >> >> UPDATE test SET prio = prio +1 WHERE prio BETWEEN 3 AND 2; > Zwischen 3 und 2 liegt doch nichts ...? BETWEEN schließt diese Werte mit ein, also 3 und 2 >> oder eben >> >> UPDATE test SET PRIO = 2 WHERE id = 3; > Genau. und bei id = 2 muss prio = 3 entstehen. Die Lösung von Florian > erledigt das ja geschickt. > > Trotzdem auch dir vielen Dank für deine Hilfe und Tipps. ja aber er braucht mehr Abfragen ... ;-) bei mir werden nur alle Datensätze zwichen der Alten und der Neuen Position um eine Stufe in die Richtung der Alten Position verschoben und dann dem gewählten Element die neue Position zugedordnet. (Egal um weiviele Positionen es sich handelt) -- Sebastian Mendel www.sebastianmendel.de
php::bar PHP Wiki - Listenarchive