Intereting Posts
PHP preg_match полная строка каковы недостатки, нужно заботиться о загрузке файла symfony2 добавить динамический параметр для маршрутизации, попробуйте с помощью пользовательского загрузчика Итак, какой лучший способ проверить, существует ли строка? EXISTS, COUNT или num_rows? Объект Cant Post JSON с использованием Jquery.post () изображения загружаются, но я их не вижу Пространства $ _POST, преобразованные в символы подчеркивания php – Как отслеживать страницы, посещаемые пользователями после выхода из моего сайта? Самые популярные сообщения WordPress без использования плагинов бесконечная загрузка прокрутки / изображений jQuery Данные POST JSON через CURL и захват Как изменить размер загруженных изображений? SEO дружественный URL вместо строки запроса .htaccess Можно ли группировать несколько доменов в группе маршрутизации в Laravel? проблема маршрутизации в кодеригнере

Как включить пользователя в любом месте в списке?

У меня есть список элементов, хранящихся в базе данных. Каждый элемент имеет столбец идентификатора, заголовок и столбец позиции (int).

По умолчанию, всякий раз, когда пользователь добавляет новый элемент в список, его идентификатор помещается в позицию. Так что, если у вас есть 3 предмета, с идентификаторами 1, 2, 3, их позиции также будут 1, 2, 3.

Затем, выбирая позиции, я сделаю ORDER BY position ASC в моем SQL-запросе.

Проблема в том, что пользователь хочет использовать функцию, где он может добавить новый элемент в любом месте существующих элементов.

Поэтому, если у вас есть позиции 1, 2, 3 с позициями 1, 2, 3, он может выбрать, чтобы добавить новый элемент в позицию 2, что приведет к пунктам 1, 2, 3, 4, имеющим позиции: 1 3 4 2

Таким образом, позиция №4 будет помещена в позицию 2, позиции № 2 и 3 будут перенесены в позиции 3 и 4 и т. Д.

Какой простейший / самый эффективный алгоритм для выполнения этой вставки?