Перейти к содержимому


Выполнение вычислений при просмотре поля


Сообщений в теме: 5

#1 OLDest

    Активный участник

  • Пользователи
  • PipPipPip
  • 268 сообщений
  • Пол:Мужчина
  • Город:Калининград

Отправлено 18 Декабрь 2010 - 21:24

Выполняется 3 раза. Причем странно как-то. например если выводить на экран массив вот так print_r($card) - один раз, а если print_r($card['ID']) - три раза
1.9.2. 698 от 2010-12-16 числа
Купил лицензию КБ

#2 jazvenko

    Активный участник

  • Пользователи
  • PipPipPip
  • 224 сообщений

Отправлено 19 Декабрь 2010 - 22:06

Просмотр сообщенияOLDest (18.12.2010, 21:24) писал:

Выполняется 3 раза. Причем странно как-то. например если выводить на экран массив вот так print_r($card) - один раз, а если print_r($card['ID']) - три раза
1.9.2. 698 от 2010-12-16 числа
А нука результат print_r($card) в студию.
Разницы нет как выводить и что там выполнять. Скрипт в поле реально выполняется 3 раза при открытии записи. Уважаемые Разработчики, Разберитесь а то там не возможно использовать математические расчеты, например добавлять запись в другую таблицу при присмотре.
Проверял так: echo <script>alert('!');<script> при открытии записи кде есть поле в котором этот пхп вывалит на экран 3 алерта.

#3 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 762 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 20 Декабрь 2010 - 09:40

Это связано с особенностями вычисления данных в режиме просмотра записи.

Просмотр сообщенияjazvenko (19.12.2010, 22:06) писал:

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

#4 jazvenko

    Активный участник

  • Пользователи
  • PipPipPip
  • 224 сообщений

Отправлено 20 Декабрь 2010 - 09:48

Просмотр сообщенияРазработчик (20.12.2010, 9:40) писал:

Это связано с особенностями вычисления данных в режиме просмотра записи.
Добавлять запись через вычисление в поле в любом случае нельзя, т.к. вычисление у вас срабатывает каждый раз при любом просмотре. Либо нужна проверка на уже произведенное действие.
А что это за особенность? такая особенность грузит систему
А как нам тогда сделать: нужно чтобы при каждом просмотре этого поля, в доп таблицу писалась запись о том что пользователь просмотрел/дата просмотра/документ в ктором поле? Я понимаю можно проверку на скуле сделать, но это не правильно

#5 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 762 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 20 Декабрь 2010 - 09:55

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

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

#6 OLDest

    Активный участник

  • Пользователи
  • PipPipPip
  • 268 сообщений
  • Пол:Мужчина
  • Город:Калининград

Отправлено 20 Декабрь 2010 - 11:35

в пхп написал ф-цию проверки данных по времени с точностью до секунды. но это опять таки лишнее условие
Купил лицензию КБ





Количество пользователей, читающих эту тему: 2

0 пользователей, 2 гостей, 0 анонимных