ユーザーが特定のフィールドを順番に追加/削除/配置できる機能を Web サイトに追加しようとしています。
例: 5 つの段落があり、ユーザーがこれらを好きな順序で配置し、役に立たない場合は削除できるようにしたいと考えています。
これにはjQueryを使用する必要があることはわかっていますが(ソート可能)、この順序/選択された要素をデータベースに保存する方法についてアドバイスが必要です(mysqlとphpを使用)。
ユーザーが特定のフィールドを順番に追加/削除/配置できる機能を Web サイトに追加しようとしています。
例: 5 つの段落があり、ユーザーがこれらを好きな順序で配置し、役に立たない場合は削除できるようにしたいと考えています。
これにはjQueryを使用する必要があることはわかっていますが(ソート可能)、この順序/選択された要素をデータベースに保存する方法についてアドバイスが必要です(mysqlとphpを使用)。
私が最初に思い浮かぶのは、テーブルの「設定」を用意することです。Webサイトの要素が限られている場合は、それらすべてを定義する列と、そのユーザーの設定を管理するためのページを作成できます。
Webサイトが非常に大きく、常に変化している場合は、プロパティ、値、および効果を1つのテーブルに定義し、設定にプロパティ、値、および要素を格納することを検討する必要があります。
Ajax を使用します。データベース内でテーブル UsersParagraphs を作成します - 1 行は、特定のユーザーの段落の順序番号を反映します。あなたのウェブサイトでは、テーブル Paragraphs のデータを使用して、(段落を含む) 移動可能な div を動的に作成できます。ユーザーがdivの順序を変更した後、このアクションを表の段落に反映できます。
次のように、JavaScript で 2 次元配列を MySQL データベースのインデックス フィールドと組み合わせて使用できます。
var list_index = new Array();
list_index[0] = [245, 1, 1, 'BMW'];
list_index[1] = [256, 2, 2, 'Porsche'];
最初のキーは、エントリの MySQL インデックスです。2 番目のインデックス キーは、HTML (ライブ) リストのインデックスを表します。3 番目のインデックス キーは、データベースのインデックス キーを表します。したがって、ポルシェをリストの一番上に入れ替えると、次のようになります。
list_index[0] = [256, 2, 1, 'BMW'];
list_index[1] = [245, 1, 2, 'Porsche'];
この値を念頭に置いて、jQuery を使用して、更新されたインデックス キーを PHP コードにポストし、データベースで更新することができます。