これは方法論的な問題です。私はテーブルを持っていると言う
id int auto_increment primary key,
name text not null
任意の方法で注文したいエントリがいくつかあります。ページに表示される名前の順序を変更できるインターフェイスを作成できます。テーブルのエントリを読み上げると、選択した方法に従って並べ替えられます。考えられるアプローチは 3 つあります。最初のアプローチは、フィールドを追加することです
order int not null
順序を変更すると、すべての行、または少なくともすべての行を、変更している最低の順序よりも高い順序で更新する必要があります。これは、for ループで SQL ステートメントを実行する必要があるため、間違ったアプローチのように思えます。2番目のアプローチは、IDでリンクされた別のテーブルを作成することです
id int not null
order int not null
しかし、ここで同じ問題に遭遇します。名前を追加して最初に配置したい場合は、すべての行の注文エントリを変更する必要があります。id と order の間の関連付けを 1 つの列、またはフラット ファイルに保存するという 3 番目のアプローチが考えられます。JSON フォーマットを使用してこれを行うことがわかりました。
私の質問はこれです。MySQL と PHP を使用してこれを行う最善の方法は何ですか。