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

come mantenere il campo dell'ordine di visualizzazione in php

Puoi utilizzare valori più grandi per la visualizzazione, ad esempio :

apple : 1 000 000

orange : 2 000 000

banana : 3 000 000

Ora se voglio aggiungere potato nella posizione 2 (n=2) prendo n (=> 2 :arancione) e (n-1)(=> 1 :mela) e le divido per 2 per ottenere la posizione della patata novella :

(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

Funzionerà per un periodo piuttosto lungo e, se a un certo punto ritieni di aver esaurito questo schema, puoi comunque moltiplicare tutti i valori per 1000.

Puoi anche continuare a utilizzare un valore basso (1, 2, 3, ...) e definire il loro tipo come DOUBLE , quindi non entreranno mai in collisione quando vengono divisi per 2.

MODIFICA : Informazioni sul posizionamento della banana in posizione 1 :

Usando la formula (n+(n-1))/2:

Qui n =1 (nuova posizione).

I nostri dati sono:

apple : 1 000 000

potato : 1 500 000

orange : 2 000 000

banana : 3 000 000

(1 000000+(0))/2

=500 000

Do l'ordine 500 000 alla banana :

**banana : 500 000**

apple : 1 000 000

potato : 1 500 000

orange : 2 000 000

Ancora un'altra soluzione:creare un campo di testo che sia un indicizzatore e contenga tutti gli ID.

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

Ora, se voglio mettere l'ID elemento 8 tra 3 e 4, devo semplicemente sostituire ",4," con ",8,4,".

Sebbene sia più complicato in termini di calcolo trovare l'elemento all'indice n, quindi personalmente userei la prima soluzione.