Thomas_Jung
Erfahrenes Mitglied
HI, ich habe eine Tabelle mit drei Felder id, produkt und order_by_id.
Wenn ein Datensatz hinzu kommt erhält er die nächst höhere Nummer (order_by_id+1)
Wenn ich nun einen Datensatz lösche, entstehen Lücken aus 1 2 3 4 5 6 wird dann 2 3 4 5 6
Nun möchte ich die Datensätze neu anordnen -> aus 2 3 4 5 6 wird 1 2 3 4 5
Wichtig ist, dass die vorhandene Sortierfolge nicht verändert wird.
Beispiel
order_by_id 2 war dem Produkt Apfel zugeordnet sollte jetzt 1 werden
u.s.w
Gruß Thomas
Wenn ein Datensatz hinzu kommt erhält er die nächst höhere Nummer (order_by_id+1)
Wenn ich nun einen Datensatz lösche, entstehen Lücken aus 1 2 3 4 5 6 wird dann 2 3 4 5 6
Nun möchte ich die Datensätze neu anordnen -> aus 2 3 4 5 6 wird 1 2 3 4 5
Wichtig ist, dass die vorhandene Sortierfolge nicht verändert wird.
Beispiel
order_by_id 2 war dem Produkt Apfel zugeordnet sollte jetzt 1 werden
u.s.w
Code:
Datensätze vorher nach order_by_id sortieren
SELECT order_by_id FROM `test` ORDER BY order_by_id ASC;
Das Feld order_by_id leeren
UPDATE `test` set `order_by_id`= '';
Nun müste ich den 1 Datensatz im Feld order_by_id eine 1 verpassen und dann folgenden Befehl ausführen
Wie könnte ich das machen?
Dann Numern neu vergeben
UPDATE `test` set `order_by_id`=`order_by_id`+1;
Gruß Thomas