Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

MySQL Datensätze verschieben





Frage

Hallo, ich habe folgendes Problem: in meinem Bildergaleriescript gibt es für jedes Bild einen Datensatz, die Spalte ID ist dabei ´auto_increment´. In der Galerie werden die Bilder nach der ID-Reihenfolge aufgelistet. Nun möchte ich die Möglichkeit einbauen, ein Bild zu verschieben, also die ID zu ändern. In diesem Fall müssten alle folgenden Datensätze ihre ID+1 bekommen. Wie kann ich nun am einfachsten mit PHP von allen Datensätzen ab ID=x den ID-Wert um 1 erhöhen? Dabei ist zu beachten, dass beim erhöhen meistens die nächst höhere ID schon einem anderen Satz gehört, wegen der auto_increment Funktion aber manchmal eine ID dazwischen noch frei ist. Wäre super, wenn mir jemand helfen könnte viele Grüße euer eMKay

Antwort 1 von disco

moin

schlechte idee dass über (wie ich mal vermute) primärschlüssel zu machen. am besten du setzt noch ne spalte hinten dran, in der du die ordnung angibst. dann kannst du das dort auch ohne komlikationen verändern. so musst du dir auch keine sorgen machen, dass ein zahl mehrmal auftaucht.

g,
disco

Antwort 2 von eMKay

mh....ist so wahrscheinlich wirklich die beste lösung (wenn es nichts anderes gibt). hochzählen müsste ich diesen Reihenfolgenwert dann aber auch, wenn ich ein Bild dazwischen anzeigen möchte...und wie das am einfachsten geht, weiß ich immernoch nicht so recht...

Antwort 3 von disco

du musst es nicht unbedingt hochzählen, da die gleiche nummer ja so auch mehrmals vorkommen kann. aber wen du es unbedingt hochzählen musst/möchtest, dann musst du da doch nix beachten.

du nimmst die nummer des neuen bildes und holst dir alle einträge, die die gleiche, oder eine höhere nummer haben. und dann erhöst du sie einfach um 1.

Antwort 4 von eMKay

stimmt, ist eigentlich wirklich ganz einfach.
vielen Dank für den Tipp

mfg
eMKay

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: