Tildel ny rækkefølge i mysql
Jeg hiver rækker ud af DB ORDER BY raekkefolge. De bliver liste under hinanden, og bruger kan nu "bytte om" på rækkefølgen ved hjælp af bl.a. nedestående kode:if($action=='afsnit_op'){
$gl_raekkefolge = $_GET['raekkefolge'];
$flyt_raekkefolge = $gl_raekkefolge;
$flyt_raekkefolge--;
$op1 = "UPDATE peter SET raekkefolge='-1' WHERE emne = '$emne' AND raekkefolge='$gl_raekkefolge'";
$op2 = "UPDATE peter SET raekkefolge='$gl_raekkefolge' WHERE emne = '$emne' AND raekkefolge='$flyt_raekkefolge'";
$op3 = "UPDATE peter SET raekkefolge='$flyt_raekkefolge' WHERE emne = '$emne' AND raekkefolge='-1'";
aabn_forbindelse_og_vaelgdb();
mysql_query($op1);
mysql_query($op2);
mysql_query($op3);
luk_forbindelse();
}
Det virker altsammen vældigt fint. Men bruger kan også slette og oprette rækker i DB. Ved opret tildeles den nye række et raekkefolgetal der er én højere en det højeste raekkefolgetal. MEN... når der slettes en række i DB kommer der jo et hul i listen af raekkefolgetal.
Eks. 1 2 3 4 5 kan blive til 1 2 .. 4 5 og nu vil koden der "bytter om" på rækkefølgen naurligvis ikke længere virke ordentligt....!
Jeg tænker, at jeg hver gang der slettes en række i DB skal tjekke alle raekkefolgetallene (der vil højest være 8 tal, så det er vel ikke så slemt, og det vil formodentligt ikke ske så tit), og tildele alle rækkerne i DB et nyt raekkefolgetal, så listen bliver ubrudt...?
Ved bare ikke helt hvordan jeg gør det nemmest, og om der er andre og bedre måder...?
