Как организовать динамический изменяемый порядок элементов списка (как например аудиозаписи вконтакте)?

trtm trtm

Сабж…
Например есть список в таблице БД, там он отсортирован по id, но как сделать так чтобы у них был порядок, который можно менять, например как аудиозаписи в вконтакте в разделе редактирование (порядок песен можно менять, при этом он сохраняется), как такое реализовать?
Или хотябы доступно объясните принцип работы такого миханизма)
Дополнено (1). Желательно с примером или ресурсом где все разжевано до мелочей)
Дополнено (2). Все оказалось намного проще:
jquery sortable и jquery ajax, всем спасибо!

Сергей Лещина Сергей Лещина

Завести в таблице отдельное поле под порядок и выводить в соответствии с ним, а не с id.
При перетаскивании отсылать AJAX'ом запрос на сервер и переписывать порядок.

ggogle ggogle

лучший ответ
На сервере запускать перезапись при получении всех данных (id, старое место, новое место, ) то есть надо будет оставить кнопку сохранить, а не перезаписывать сразу, иначе ваш сервер может и не выдержать, а получив новые данные высчитать новое положение в таблице нижерасположенных элементов то есть прибавить к их порядковому # 1, затем уже сделать запрос update с условием на диапазон изменяемых значений от id перенесенного элемента до конца таблицы, но вот если будет изменено несколько элементов то это додумайте сами

ggogle ggogle

А для изменения нескольких элементов можно записать все данные в двуомерный массив, затем вставлять в цикле foreach либо сразу в один запрос либо делая кол_во запросов = кол_во элементов, я бы посоветовал 1ое

Добавить комментарий | Похожие обсуждения

Вопросы и ответы по Вконтакте
Вопросы и ответы

Популярные вопросы и ответы о социальной сети www.vkontakte.ru (vk.com)