0

私は、人々が誕生日リストを持っていて、リストにアイテムを入れることができ、他の人がそれを見ることができるソフトウェアを少し作成しています。データベースに、すべてが整理された というテーブルがありますbirthday lists。次のように配置されます。

私のデータベースの編成

行の例は次のとおりです。

例の行

person フィールドはアイテムの所有者であり、全員のすべてのアイテムが同じテーブルにあります。ID、名前、リンク、説明は一目瞭然です。数値フィールドは、リスト ページを表示したときに表示される方法であるため、数値 10 は 0 の上に表示され、優先度はこの質問には関係ありません。これは、ブラウザで Jimmy のリストを表示するとどうなるかの例です。(心配しないでください、私は最終的に私のポイントに到着します)

ジミーのリスト

私は意味をなさないので、たくさんの写真を追加しています。これが私が物事を説明できる最良の方法です:)

とにかく、これはデータベースの例を示す別の図です。

例

Russell のリストをブラウザで表示すると、次のようになります。

ラッセルのリスト

ホッチキスのほうが数字が大きいので、$$$$ アイテムがホッチキスの上にあることに注目してください。それがそのためです。Russell としてログインしてこのリストを表示すると、そのアイテムの数値プロパティを増減するボタンが表示Move UpMove Downれます。サンプルシナリオで私の問題を示します。

Jimmy がログオンし、多数のリスト アイテムを持っているとします。彼は何回か上に移動するので、1 つのアイテムの数値が他のすべてのアイテムの数値よりもはるかに高くなります。次に、別の項目を上に移動し、ページをリロードしますが、2 番目の項目の数値がまだ最初の項目よりも小さいため、何もしていないと考えます。それが理にかなっていることを願っています。もう 1 つの問題は、2 つのアイテムの数値が同じである場合、大きな問題になることです。ポイントは、私の方法ではうまくいかないということです。

この番号を適切に機能させる方法を知っている人はいますか? また、ユーザーがリストの項目を上下に移動できるようにする方法を教えてください。(また、私のデータベースがうまく構成されていない場合は、私も知りたいです:))

事前にたくさんありがとう!

必要な場合のエンディング情報:

  • これをPHP 5とMySQLで構築しています
  • これは、GoDaddy を使用するリモート Linux サーバー上にあります。
4

2 に答える 2

0

私はそれを次のように扱います:

  1. アイテムの移動/並べ替えには、たとえばjQuery UI sortableを使用できます。

  2. メソッド serialize()で注文を取得できます。

  3. numberシリアル化されたデータを PHP スクリプトに送信し、変更された位置 (テーブル内)を交換/更新します。

  4. データベースのデータセットを更新します。

  5. SELECTソートされたデータの使用にORDER BY number DESC(もっと)

幸運を!:-)

于 2013-10-05T21:28:41.713 に答える