Mailinglisten-Archive |
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