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


Доп. действие для нескольких строк


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

#1 arsenal

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

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

Отправлено 14 Декабрь 2011 - 14:00

В версии 194 мне надо было выделив несколько строк в таблице сделать с ними одно доп. действия. Код д.д. состоял из двух частей: одна часть выполнялась один раз, другая часть выполнялась для каждой выделенной строки. Чтобы первая часть выполнялась только один раз делал проверку:
if (!$q)//Если переменная не существует, то код выполняется
{
код
$q=1;
}
В версии 195 это не работает, т.е. код выполняется полностью для каждой строки. Что нужно сделать?

#2 CbCoder

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

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

Отправлено 14 Декабрь 2011 - 14:06

В версии 195 это не работает, потому что все вычисления выполняются в локальной области (внутри функции), и переменные вовне не передаются. Поставьте параметр static перед переменной, это позволит ее сохранить при следующем вызове (см. мануал по PHP)

#3 arsenal

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

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

Отправлено 14 Декабрь 2011 - 16:20

Сделал так
if (!$q)//Если переменная не существует, то код выполняется
{
код
static $q=1;
}
тоже не работает

#4 CbCoder

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

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

Отправлено 14 Декабрь 2011 - 16:27

Тогда через global. Только назовите ее получше, а не "q", иначе можно на конфликт напороться.

#5 arsenal

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

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

Отправлено 16 Декабрь 2011 - 09:28

Просмотр сообщенияРазработчик (14 Декабрь 2011 - 16:27) писал:

Тогда через global. Только назовите ее получше, а не "q", иначе можно на конфликт напороться.
Так получилось. Спасибо





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

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