phpbar.de logo

Mailinglisten-Archive

[php] =?iso-8859-1?Q?Datensatz-Reihenfolge_=E4ndern_=28konzeptionelle_Frage=29?=

[php] =?iso-8859-1?Q?Datensatz-Reihenfolge_=E4ndern_=28konzeptionelle_Frage=29?=

Hendrik Mans hm_(at)_netzbiest.de
Thu, 25 Jan 2001 19:14:05 +0100


Hi,

mein erster Beitrag (?) hier. Seid gegrüßt!

Meine Frage ist viel theoretischer, als sie vielleicht sein sollte. Es geht
um die gute, alte Problemstellung: wie designe ich (in einem
PHP+SQL-Kontext, versteht sich) die Tabelle, und was muss der Code tun,
damit ich dem User die Möglichkeit bieten kann, die Reihenfolge seiner Daten
zu ändern (ohne Keys auszutauschen)?

Bis jetzt habe ich das immer auf folgende Weise realisiert: jeder Datensatz
erhält ein "Sequenz"-Feld 'seq', Typ int unsigned not null auto_increment
default 0 und so weiter (zusätzlich zu einem Feld 'id' des selben Typs,
allerdings nicht als primary key). Wenn der User jetzt zwei Datensätze
tauschen will, werden einfach nur die 'seq'-Felder der zwei betroffenen
Datensätze ausgetauscht.

So weit so gut.

Die Lösung ist ja nicht grossartig kompliziert und funktioniert auch ganz
gut. ABER (oha!) ich werde das Gefühl nicht los, dass es noch irgendwie
viel, viel einfacher geht.

Ganz bestimmt kann man das ja mit einer einzigen SQL-Query machen. Aber mit
welcher?

Oder ich gehe es von der Strategie völlig falsch an, und es gibt noch einen
viel schlaueren Weg. Irgendwelche Ideen?

Gruß,
Hendrik



php::bar PHP Wiki   -   Listenarchive