Tôi có một danh sách trong cơ sở dữ liệu mà người dùng có thể đặt hàng.Cập nhật danh sách mọi thứ mà không cần nhấn vào mỗi mục nhập
itemname| order value (int)
--------+---------------------
salad | 1
mango | 2
orange | 3
apples | 4
Khi tải từ cơ sở dữ liệu, tôi chỉ đơn giản là order by order_value
.
Bằng cách kéo 'n thả, ông sẽ có thể di chuyển apples
để nó xuất hiện ở phía trên cùng của danh sách ..
itemname| order value (int)
--------+---------------------
apples | 4
salad | 1
mango | 2
orange | 3
Ok. Vì vậy, bây giờ trong nội bộ tôi phải cập nhật MỌI DANH SÁCH MỤC! Nếu danh sách có 20 hoặc 100 mục, đó là rất nhiều cập nhật cho thao tác kéo đơn giản.
itemname| order value (int)
--------+---------------------
apples | 1
salad | 2
mango | 3
orange | 4
Tôi muốn làm điều đó chỉ với một bản cập nhật. Một cách tôi nghĩ là nếu "Lệnh nội bộ" là giá trị double
.
itemname| order value (double)
--------+---------------------
salad | 1.0
mango | 2.0
orange | 3.0
apples | 4.0
SO sau khi kéo n' thả hoạt động, tôi gán apples
có một giá trị thấp hơn mục đó là để xuất hiện trước nhà:
itemname| order value (double)
--------+---------------------
apples | 0.5
salad | 1.0
mango | 2.0
orange | 3.0
.. và nếu một mục là kéo vào giữa một nơi nào đó, nó order_value
lớn hơn một nó xuất hiện sau khi .. đây tôi chuyển orange
là giữa salad
và mango
:
itemname| order value (double)
--------+---------------------
apples | 0.5
salad | 1.0
orange | 1.5
mango | 2.0
Bất kỳ suy nghĩ nào về cách tốt hơn để thực hiện việc này?
Nếu đây là dữ liệu do con người tạo, thì tối đa có thể là hàng tá mục. Hầu hết mọi người sẽ mất lãi theo cách thủ công sắp xếp hơn một vài chục (và giao diện người dùng để thực hiện nó sẽ vượt qua khoảng 20 trừ khi bạn có một màn hình lớn thực sự). Vì vậy, chỉ cần làm điều đó. Nó sẽ là một câu chuyện khác nếu bạn đang sử dụng 1000 hoặc hàng triệu mặt hàng. – Seth
Bạn có cần cho phép cập nhật đồng thời không? –