Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> изменение порядкового номера 
:(
    Опции темы
bars80080
Дата 12.5.2009, 10:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 9
Всего: 315



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

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

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

у меня единственный вариант - вводить float номер позиции, но явно не оптимально и грешит
PM MAIL WWW   Вверх
Nigel
Дата 12.5.2009, 10:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


познаю мир
**


Профиль
Группа: Участник
Сообщений: 515
Регистрация: 20.11.2007

Репутация: нет
Всего: 19



Так сделай побольше интервал и все. У меня, например, по умолчанию идет 500 для нового пункта. Для последующих +100.
PM MAIL   Вверх
bars80080
Дата 12.5.2009, 13:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 9
Всего: 315



такой метод конечно можно, и даже лучше чем float

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


PM MAIL WWW   Вверх
Akina
Дата 12.5.2009, 13:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 1
Всего: 454



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

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


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




[ Время генерации скрипта: 0.0445 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.