Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Базы Данных > изменение порядкового номера


Автор: bars80080 12.5.2009, 10:35
банальнейшая ситуация. есть допустим некоторое количество страниц в пункте меню, за положение (порядковый номер) отвечает некий параметр, который записывается в БД для каждой страницы (поле rang)

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

а случаем, нет ли какого способа (или методики построения) в котором позицию было бы достаточно изменить только у перемещаемой записи?

у меня единственный вариант - вводить float номер позиции, но явно не оптимально и грешит

Автор: Nigel 12.5.2009, 10:45
Так сделай побольше интервал и все. У меня, например, по умолчанию идет 500 для нового пункта. Для последующих +100.

Автор: bars80080 12.5.2009, 13:46
такой метод конечно можно, и даже лучше чем float

но я больше спросил исходя из позиции "а вдруг есть волшебное универсальное решение, до которого додумались избранные"


Автор: Akina 12.5.2009, 13:51
Цитата(Nigel @  12.5.2009,  11:45 Найти цитируемый пост)
сделай побольше интервал и все. У меня, например, по умолчанию идет 500 для нового пункта. Для последующих +100. 

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

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)