Задать вопрос
iDokuro
@iDokuro
Тугодум

Как можно организовать изменения порядка вывода строк из таблицы?

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

Вопрос в том, какое поле нужно сделать что бы выбирать записи потом.

К примеру у меня идея добавить в таблицу поле "location" c типом int. с дефолт значением 0, а по нажатия вверх прибавлять к этому значению 1, при нажатии в низ в точности наоборот.

А потом выбирать через ORDER BY `location` DESC

Но у моего варианта есть косяки.

Как сделать это рационально? Вроде бы задачка элементарная... А у меня не получается нормально решить (:
  • Вопрос задан
  • 185 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 3
> Но у моего варианта есть косяки.
А какие именно на ваш взгляд?

Альтернативный вариант - указывать previous_id или next_id, тогда вы будете хранить минимум информации о порядке. Фактически это будет связный список. Для перемещения любого элемента достаточно будет изменить 2-3 строки.
Ответ написан
mahoho
@mahoho
Full stack certified PHP developer.
Почему бы не сделать поле priority TINYINT UNSIGNED NOT NULL DEFAULT 0? Управляете им из приложения, а при выборке по нему сортируете.
Ответ написан
Комментировать
в чем косяк?
было "1";"2";"3";"4";"5" нажали "4" вверх стало "1";"2";"3+1";"4-1";"5" и они поменяются местами

как по мне...
обязательно напишите как решили, интересно)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы