Mysql
 sql >> Baza danych >  >> RDS >> Mysql

jak utrzymać pole kolejności wyświetlania w php

Możesz użyć większych wartości do wyświetlania, na przykład :

apple : 1 000 000

orange : 2 000 000

banana : 3 000 000

Teraz, jeśli chcę dodać potato na pozycji 2 (n=2) biorę n (=> 2 :pomarańczowy) i (n-1)(=> 1 :jabłko) pozycję i dzielę je przez 2, aby otrzymać nową pozycję ziemniaka :

(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

Będzie to działać przez dość długi czas, a jeśli w pewnym momencie poczujesz, że wyczerpałeś ten schemat, nadal możesz pomnożyć wszystkie wartości przez 1000.

Równie dobrze możesz nadal używać niskich wartości (1, 2, 3, ...) i definiować ich typ jako DOUBLE , dzięki czemu nigdy nie będą się ze sobą kolidować podczas dzielenia ich przez 2.

EDYTUJ: O umieszczaniu banana na pozycji 1:

Używając wzoru (n+(n-1))/2:

Tutaj n =1 (nowa pozycja).

Nasze dane to:

apple : 1 000 000

potato : 1 500 000

orange : 2 000 000

banana : 3 000 000

(1 000000+(0))/2

=500 000

Zamawiam 500 000 bananów :

**banana : 500 000**

apple : 1 000 000

potato : 1 500 000

orange : 2 000 000

Jeszcze inne rozwiązanie:utwórz pole tekstowe, które byłoby indeksatorem i zawierało wszystkie identyfikatory.

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

Teraz, jeśli chcę umieścić id elementu 8 między 3 a 4, muszę po prostu zamienić „,4” na „,8,4,”.

Chociaż znalezienie elementu o indeksie n jest bardziej skomplikowane pod względem obliczeniowym, osobiście skorzystam z pierwszego rozwiązania.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czy mysql_real_escape_string() jest konieczne podczas korzystania z przygotowanych instrukcji?

  2. Minutnik-php+mysql+js

  3. PHP:zaktualizuj wiele pól MySQL w jednym zapytaniu

  4. Przechowywanie danych kalendarza w MySQL

  5. Zamknij MySQL bez ponownego uruchamiania na El Capitan