私はPHPの& mysqlを使ってWebアプリケーションを書くことに取り組んでおり、何かにアプローチする最善の方法について疑問を抱いていました。アプリケーションはシンプルで、テキストを含むボックス( "セル")の表示を扱います。 ここに問題があります: セルA、セルB、セルDの3つのセルが表示されています。データベースにはそれぞれ、表示される順序を示す「優先度」があります。今は順番に表示されますが、Cell Cを追加してBとDの間に配置する場合は、まずCell Dの優先順位を変更してmakeを実行する必要がありますセルCが真ん中にある部屋。将来の変更に柔軟に対応しながらデータの順序をどのように処理すればよいですか?
私はおそらく、新しいセルが隣のセルから離れるほど優先される優先順位を持つことができると考えましたが、それは最終的には上記と同じ方法で失敗します。
また、私は優先度フィールドを別の方法で使用することを検討しました。順序を示すために抽象的な番号を使用するのではなく、先行するセルのID番号を入れることができます。このようにして、セルを表示した後、私の関数はselectクエリを実行して、 "priority"フィールドが現在のセルのidと等しいセルを見つけて表示します。しかし、問題は、セルが削除された場合、そのセルの次のセル(したがって、残りのセル)がもう表示されなくなることです。
この問題に取り組む最も良い方法は何ですか?
詳しくは、左と右の項目の優先度を追加し、2で割って新しく挿入されたCの優先度を得ることができます – Mark