sql >> Database teknologi >  >> RDS >> Mysql

hvordan man vedligeholder displayrækkefølge i php

Du kan bruge større værdier til visning, som f.eks. :

apple : 1 000 000

orange : 2 000 000

banana : 3 000 000

Hvis jeg nu vil tilføje potato i position 2 (n=2) indtager jeg n (=> 2 :orange) og (n-1)(=> 1 :æble) position og dividerer dem med 2 for at få den nye kartoffelposition :

(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

Dette vil virke ret lang tid, og hvis du på et tidspunkt føler, at du har opbrugt dette skema, kan du stadig gange alle værdier med 1000.

Du kan lige så godt blive ved med at bruge lav værdi (1, 2, 3, ...) og definere deres type som DOUBLE , så de vil aldrig støde sammen, når de divideres med 2.

REDIGERING: Om at placere banan i position 1 :

Brug af formel (n+(n-1))/2:

Her er n =1 (ny position).

Vores data er:

apple : 1 000 000

potato : 1 500 000

orange : 2 000 000

banana : 3 000 000

(1 000000+(0))/2

=500.000

Jeg giver ordren 500 000 til banan :

**banana : 500 000**

apple : 1 000 000

potato : 1 500 000

orange : 2 000 000

Endnu en løsning:Opret et tekstfelt, der ville være en indeksering og indeholde alle id'er.

"1,2,3,4,5,6,7"

Hvis jeg nu vil sætte element id 8 mellem 3 og 4, skal jeg blot erstatte ",4," med ",8,4,"".

Selvom det er mere kompliceret med hensyn til databehandling at finde element ved indeks n, så ville jeg personligt bruge den første løsning.



  1. Har Oracle et filtreret indekskoncept?

  2. Sådan henter du nodenummer baseret på overordnet node dynamisk fra xsd-fil ved hjælp af PHP

  3. 3 måder at finde rækker, der indeholder små bogstaver i MySQL

  4. bestemmer mest brugte ordsæt php mysql