2011-09-09 4 views
1

レール中3.1レコードを移動可能にする方法は?

私は、ecah oneのMove upとMove downリンクを使って、dbレコードを動かせたいと思っています。

タイトル1 [UP] [DOWN]

タイトル2 [UP] [DOWN]

タイトル3 [UP] [DOWN]

タイトル:例えば、私は4つのレコードを持っている場合4 [アップ]、[ダウン]

私がリンクアップタイトルで3者をクリックすることができて、新しいテーブルには、次のようになります。

タイトル1 [アップ]、[ダウン]

タイトル3 [UP] [DOWN]

タイトル2 [UP] [DOWN]

タイトル4 [UP] [DOWN]

答えて

3

表ためのフィールドを追加します。その後、人が移動をクリックするか下に移動すると、そのフィールドに1を加算または減算します。このフィールドが0以下またはテーブルのエントリ数-1以上にならないようにしてください。これらのフィールドを順番に表示するのではなく、このフィールドで順序を並べるだけです。私はその後、順序で3つの記録= 0次を再したいとき

Moving rows 'up and down' in a database (SQL query help)

+0

はどうなりますか? – Dunhamzzz

+0

* underthought *おそらくこれは自動インクリメントフィールドにしたいのですが、1を減算/追加するのではなく、隣接する2つのエントリのOrderフィールドを反転する必要があります。 –

+0

より良い解決策は、署名されたフィールドを作成し、それが負の数になるようにすることです、私が正しく覚えていれば、プライマリキーに移動する必要があります。 – Dunhamzzz

関連する問題