Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Задана следующая структура таблицы:

id | name | position

Вывод таблицы всегда сортируется по столбцу position (ASC)

3   Яблоко      1

1   Апельсин    2

4   Груша       3

5   Арбуз       4

2   Персик      5

Предположим, строку Персик мы захотели передвинуть на 1 позицию вверх.

Соответственно position у нее изменится на 4, а у арбуза на 5.

3   Яблоко      1

1   Апельсин    2

4   Груша       3

2   Персик      4

5   Арбуз       5

Задача.

Составить алгоритм (можно псевдо код на PHP) для сохранения нового порядка строк.

Предполагается, что на входе алгоритма мы имеем следующие данные:

    ID передвинутой строки (в случае с персиком это 2 )

    ID следующей строки (в данном случае следует арбуз, т.е. 5 )

    ID предыдущей строки (в данном случае предшествует груша, т.е. 4 )

В алгоритме должны быть SQL запрос(ы).

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

(например, если бы захотели передвинуть яблоко в самый низ, т.е. не будет ID следующей строки.)

P.S.

Т.е. в конечном счете следует сделать обновление столбца position.

При этом значение MAX position должен равняться MAX значению ID (например, чтобы не было position = 6, когда всего 5 строк)

 

7 лет назад
egoods
34 годаРоссия
16 лет в сервисе
Был
год назад
Выбранный исполнитель
prophetz
32 годаБеларусь
16 лет в сервисе
Был
3 месяца назад
7 лет назад
$5
1 день
Отличный исполнитель! Четко выполнил работу - сразу понимает тех. задание ! Рекомендую ! Будем сотрудничать далее.
Задача была сформулирована чётко, оплата моментальная, отличный заказчик, рекомендую!