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

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

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

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

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

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

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

Как сделать это рационально? Вроде бы задачка элементарная... А у меня не получается нормально решить (:
  • Вопрос задан
  • 185 просмотров
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 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" и они поменяются местами

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

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽