phpbar.de logo

Mailinglisten-Archive

Renumerierung

Renumerierung

Ilja Bekowies ibekowies at shavingkiwis.de
Mit Mar 29 09:32:41 CEST 2006


Hallo!

Vielleicht hilft dir folgendes:

SET @v=0;
UPDATE  tag_expert SET
sort_no = IF(@v := @v + 1, @v, @v)
ORDER BY sort_no

oder so aehnlich...

g, ilja



Andreas Kuzma schrieb:

>Hallo Leute!
>
>Ich habe ein Menüsystem (PHP/MySQL), dessen Menüpunke in einem 
>MySQL-Table gespeichert sind. Die Reihenfolge ist durch ein eigenes Feld 
>definiert, dort sind die Menüpunkte in Zehnerschritten durchnummeriert.
>
>    title         sort_no
>    Menüpunkt 1   10
>    Menüpunkt 2   20
>    Menüpunkt 3   30
>
>Um einen Punkt frei rauf- und runter schieben zu können, hab ich mir 
>folgendes ausgedacht: Je nachdem, wie weit der Menüpunkt verschoben 
>werden soll ändere ich den sort_no-Wert um 15, 25, 35 ... und 
>"re-numeriere" die Spalte danach, damit die Differenzen wieder 10 sind.
>
>    Beispiel: Verschieben des Menüpunktes 3 an die erste Stelle
>    durch Abziehen von 25:
>    title         sort_no
>    Menüpunkt 3    5
>    Menüpunkt 1   10
>    Menüpunkt 2   20
>
>    Anschließendes Renumerieren:
>    title         sort_no
>    Menüpunkt 3   10
>    Menüpunkt 1   20
>    Menüpunkt 2   30
>
>So in etwa hab ich mir das vorgestellt. Allerdings weiß ich nicht wie 
>ich dieses "re-sorting" bewerkstelligen soll.
>
>Bislang bringe ich es nur zusammen einen Menüpunkt jeweils um einen 
>einzigen Schritt rauf oder runterzuschieben, in dem ich die 
>sort_no-Werte austausche.
>
>Weiß jemand von Euch Rat?
>
>Vielen Dank schonmal im Vorraus,
>Andi
>
>  
>

-- 
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->>  http://www.4t2.com/mysql 


php::bar PHP Wiki   -   Listenarchive