Я работаю над тем, что пользователи могут переставлять элементы, и позже эти элементы должны отображаться в выбранном порядке. В качестве простого примера рассмотрим список предметов:
A, B, C, D, E, F, G.
Таблица MySQL будет простой: user_id, letter, sortnumber
Пользователь может изменять порядок в пошаговых шагах. Они могут перемещать A на D после D, G на начало и т. Д. Кроме того, они могут добавлять и удалять элементы. Поэтому они могут удалить C или добавить X. На каждом из этих шагов я отправляю данные в PHP, который будет их обрабатывать, и устанавливаю элементы в MySQL.
Есть два пути, которые я вижу в этом:
Каждый раз, когда они добавляют / удаляют / переупорядочивают
отправьте весь список
PHP, удалите все данные, которые они
предыдущий был там, и просто
вставить новый список. Проблема в том,
это много
удаления / вставки каждый раз, когда они
Делать что-нибудь. Они могут переместить A после B, а затем я неожиданно удаляю 7 записей и вставляю еще 7. С положительной стороны, это очень просто.
Каждое «движение», которое они делают (например, добавление, удаление или переупорядочение), отправляют информацию для этого. Например. они переместили An после F и сказали мне «переместить An после F». Теперь я должен проверить, что в списке есть и A, и F, а затем уменьшить значение «sortnumber» между A и F (включая F). Если они говорят «удалить Z», я должен найти его в списке, удалить его и уменьшить после него все номера сортировки записей.
Так что мне просто любопытно ... Кто-нибудь имел дело с чем-то, где важен порядок, и если да, то как ты это сделал?