Mailinglisten-Archive |
Hallo Liste, habe folgendes zu lösen und wäre dankbar um (am besten) einige Erfahrungen. Ich habe einen solchen Fall bisher noch nicht gehabt. Es geht, grob formuliert - um "(Primaray Key) ID - Shifting". Ein User soll Datensätze anlegen können. (Kein Problem) Sagen wir, er gab 50 davon ein. (Fein) Einen Tag später löscht er drei davon. (wenn es denn sein muss) Zwei Stunden später, möchte er "zwischen dem ersten und dem zweiten" (z.B.), ´nen neuen Datensatz einfügen. (kein P...*aehm*, moment mal kurz) Der User möchte die Daten immer(!) in der Reihenfolge gelistet sehen, in welcher er sie auch angelegt hat. Von mir aus auch mit Erstell-Datum dazu aber, Eintrag 66 kann viel älter sein als Eintrag 44 weil es möglich sein soll, die Reihenfolge in so fern zu ändern, daß vor oder nach bereits bestehenden Positionen ein neuer Eintrag gesetzt werden kann. Eine Sortierung der Anzeige (wassweissich ... 'Preis' oder 'Datum' oder 'Name' oder was auch immer) ist explizit nicht gewünscht (nicht einmal die Möglichkeit dazu). Wenn vom Gesamtbestand zwei Einträge gelöscht werden, müssen also quasi alle Einträge mit neuen Primary Keys ausgestatt (durchnumeriert) werden, damit es wieder eine lückenlose Reihenfolge gibt und wenn zwischen dem ersten und zweiten Eintrag in der DB (zwischen P-KEY '1' und '2') einer hinzugefügt/reingeschoben/dazwischengesetzt werden soll, müssten alle P-Keys unter KEY '1' um eins (+1) geshifted werden, so daß schliesslich '2' nun frei/unbelegt für das neue Entry ist und aus dem alten 2er ne 3 wird und aus der alten 3er ne 4 etc. Hat jemand schon einmal etwas ähnliches gemacht ? Ach ja, das Programm soll sich natürlich automatisch die richtige Reihenfolge 'merken'. Es ist nicht erwünscht, bei jedem Eintrag generell eine Position angeben zu müssen. Falls Einträge dazwischengeschoben werden, ist es klar daß man schon angeben muss ob "vor- oder hinter Eintrag X" eingefügt wird. Wenn man keinen "einschiebt" sondern just einen Datensatz hinzufügt, wird der automatisch gaaanz nach hinten/unten gesetzt. Ich suche halt eine richtig pfiffige Lösung dafür und daist "Brainstorming" immer gut .... naja .. ich überlege jetzt mal los jetzt und würde mich über Eure Gedanken diesbezüglich freuen (bin sooo alleine mit dem Kram :) Vielen Dank, Holger --------------------------------------------------------------- Holger Bahr TSi GmbH hb_(at)_tsi-gmbh.de Neustr. 9-12 02636 9764 22 D-53498 Waldorf http://www.tsi-gmbh.de New Phone #: +49-(0)2636-9764-0 http://www.waldorf-gmbh.de New Fax #: +49-(0)2636-9764-99 ---------------------------------------------------------------
php::bar PHP Wiki - Listenarchive