Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: обновление списка записей

Сообщения:  [1-10]   [11-17] 

 
 автор: psychomc   (03.04.2010 в 21:18)   письмо автору
 
   для: Valick   (03.04.2010 в 20:15)
 

я знаю. значение позиции будет не соответствовать

  Ответить  
 
 автор: Valick   (03.04.2010 в 20:15)   письмо автору
 
   для: psychomc   (03.04.2010 в 18:25)
 

для редактирования в ссылку суют id строки

  Ответить  
 
 автор: psychomc   (03.04.2010 в 18:25)   письмо автору
 
   для: Valick   (03.04.2010 в 17:21)
 

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

  Ответить  
 
 автор: Valick   (03.04.2010 в 17:21)   письмо автору
 
   для: psychomc   (03.04.2010 в 15:28)
 

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

  Ответить  
 
 автор: psychomc   (03.04.2010 в 15:47)   письмо автору
 
   для: Trianon   (03.04.2010 в 15:37)
 

спасибо , в общем-то всё предельно понятно :)
и отдельное спасибо за интересные мысли

  Ответить  
 
 автор: Trianon   (03.04.2010 в 15:37)   письмо автору
 
   для: psychomc   (03.04.2010 в 15:28)
 

я полагаю, что цеплять на эту непрерывность значений какой-либо функционал - порочно в принципе.
А если оная нужна лишь ради красоты, то нетрудно запустить раз в сутки скрипт, который пройдется по таблице и подчистит дырки. Вылизывать его (этот скрипт) до полного оптимума особого смысла нет, так как цель его вторична, а запускается он редко, и вследствие этого много каши все равно не съест.

PS. Хотя с помощью условной операции CASE наверное и возможно составить выражение кусочно-линейного преобразования, которое выкинет дырки за один запрос. Исключительно фарсу ради.


PPS. вот такой он мой взгляд, точнее голос - чисто совещательный.

  Ответить  
 
 автор: psychomc   (03.04.2010 в 15:28)   письмо автору
 
   для: Trianon   (03.04.2010 в 14:30)
 

я вас понимаю, это проще и в принципе никак не мешает функционалу. да, действительно хочу это делать только ради красоты. первичные ключи однозначно не понадобится, т.к они явно не видны.

тогда ответьте пожалуйста на один вопрос
вот на ваш взгляд: 1) мой подход ненужный и нерациональный, чтобы заморачиваться и искать какие-то оптимальные решения или 2) имеет право на жизнь
?

  Ответить  
 
 автор: Trianon   (03.04.2010 в 14:30)   письмо автору
 
   для: psychomc   (03.04.2010 в 13:36)
 

аргументы?
"Красиво выглядит" - не аргумент.
Поверьте, я на этом нажигался.

У Вас, конечно, случай не такой вопиющий.
Но лиха беда начало. Но следующий шаг - ради фальшивой красоты захочется первичные ключи без дырок держать - а тут уже просто хоть караул кричи.

  Ответить  
 
 автор: psychomc   (03.04.2010 в 13:36)   письмо автору
 
   для: Trianon   (02.04.2010 в 18:23)
 

не хочется чтобы дырки возникли... хочется чтобы они все шли подряд

  Ответить  
 
 автор: psychomc   (03.04.2010 в 13:35)   письмо автору
 
   для: oliss   (02.04.2010 в 18:09)
 

я просто вижу решение как-то так:
1) найти минимальную позицию из всех удаленных записей min(pos)
2) извлечь все id записей, у которых pos>min(pos), отсортировав их ORDER BY pos ASC
3) обновить извлеченные записи в цикле (min(pos)++), на каждую запись по запросу

оно то будет работать. но мне не нравится то, что количество запросов зависит от количества записей, и если записей скажем 3000, то и запросов на обновление может быть столько же (в зависимости от того, как высоко находится минимальная удаляемая запись). в общем-то пробовал обновлять и 50000 записей таким же способом, отрабатывает меньше чем за секунду.
но может есть более грамотное решение проблемы? спасибо за участие в теме

  Ответить  

Сообщения:  [1-10]   [11-17] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования