sql >> データベース >  >> RDS >> Mysql

PHPで表示順序フィールドを維持する方法

    たとえば、次のように、より大きな値を表示に使用できます:

    apple : 1 000 000
    
    orange : 2 000 000
    
    banana : 3 000 000
    

    ここで、potatoを追加したい場合 位置2(n =2)でn(=> 2:オレンジ)と(n-1)(=> 1:リンゴ)の位置を取り、それらを2で割って新しいポテトの位置を取得します:

    (1 000 000 + 2 000 000)/ 2

    =1 500 000

    apple : 1 000 000
    
    **potato : 1 500 000**
    
    orange : 2 000 000
    
    banana : 3 000 000
    

    これはかなり長い時間機能します。ある時点でこのスキーマを使い果たしたと感じた場合でも、すべての値に1000を掛けることができます。

    低い値(1、2、3、...)を使い続け、そのタイプをDOUBLEとして定義することもできます。 、したがって、2で割ったときに衝突することはありません。

    編集: バナナを位置1に配置することについて:

    式(n +(n-1))/ 2を使用する:

    ここで、n =1(新しい位置)です。

    私たちのデータは:

    apple : 1 000 000
    
    potato : 1 500 000
    
    orange : 2 000 000
    
    banana : 3 000 000
    

    (1 000000+(0))/ 2

    =500 000

    私はバナナに500000を注文します:

    **banana : 500 000**
    
    apple : 1 000 000
    
    potato : 1 500 000
    
    orange : 2 000 000
    

    さらに別の解決策:インデクサーとなり、すべてのIDを含むテキストフィールドを作成します。

    「1,2,3,4,5,6,7」

    ここで、要素ID 8を3と4の間に置きたい場合は、「、4」を「、8,4」に置き換えるだけです。

    インデックスnの要素を見つけることは計算の面でより複雑ですが、私は個人的に最初のソリューションを使用します。



    1. Centos7にPerconaToolkitをインストールして使用する

    2. MySQLデータベースにデータを挿入するにはどうすればよいですか?

    3. VBAオブジェクトブラウザで非表示のアイテムを表示する方法

    4. フィルタに基づいて検索結果を絞り込む