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


вычисления


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

#1 nk

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

  • Пользователи
  • PipPipPip
  • 228 сообщений
  • Пол:Мужчина

Отправлено 01 Май 2011 - 12:37

можно ли сделать так, чтобы вычисление таблицы не срабатывало при массовом редактировании полей? может при массовом редактировании какой-нибудь флаг выставляется или типа того, чтобы проверять его перед вычислением...

пример:

Unknown column 'array' in 'where clause'
> SELECT DISTINCT(name), type FROM ps_data_files WHERE table_id=1 AND
> field_id='12' AND line_id=array

такая ошибка вылезает только при массовом редактировании, очевидно что вместо array в конце д.б. число - номер строки,

которое добывается через
$line_id = $_GET['line'];

сам запрос
$sqlQuery = "SELECT DISTINCT(name), type FROM " . DATA_FILES_TABLE . " WHERE table_id=" . $table_id . " AND field_id='" . $field_id[$i] . "' AND line_id=" . $line_id;

при редактировании одной строки все ОК

#2 CbCoder

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

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

Отправлено 03 Май 2011 - 09:19

Вам просто не следует брать id строки через $_GET['line'], переменная $line_id уже должна передаваться в вычисление. Но на данный момент вычисление срабатывает только для последней записи при их массовом редактировании.

#3 nk

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

  • Пользователи
  • PipPipPip
  • 228 сообщений
  • Пол:Мужчина

Отправлено 03 Май 2011 - 09:24

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

Вам просто не следует брать id строки через $_GET['line'], переменная $line_id уже должна передаваться в вычисление. Но данный момент вычисление срабатывает только для последней записи при их массовом редактировании.

нет необходимости, чтобы вычисление срабатывало при массовом редактировании, как раз наоборот, при массовом оно не должно срабатывать, как это сделать? и как " переменная $line_id уже должна передаваться в вычисление " ?

#4 CbCoder

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

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

Отправлено 03 Май 2011 - 09:55

Тогда просто проверяйте в начале вычисления, не равно ли $_GET['line'] значению "array", и если равно - не выполняйте дальше свой код.

Просмотр сообщенияnk (3.5.2011, 10:24) писал:

и как " переменная $line_id уже должна передаваться в вычисление " ?
Имелось ввиду что она уже передается автоматом. Не обязательно ее самостоятельно вычислять.

#5 nk

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

  • Пользователи
  • PipPipPip
  • 228 сообщений
  • Пол:Мужчина

Отправлено 03 Май 2011 - 09:59

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

Тогда просто проверяйте в начале вычисления, не равно ли $_GET['line'] значению "array", и если равно - не выполняйте дальше свой код.
так и думал, но хотел быть уверенным, спс!

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

Имелось ввиду что она уже передается автоматом. Не обязательно ее самостоятельно вычислять.
{ID}?

#6 CbCoder

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

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

Отправлено 03 Май 2011 - 10:01

Просмотр сообщенияnk (3.5.2011, 10:59) писал:

{ID}?
$line_id тоже можно использовать. "{ID}" по сути заменяется на нее же.

#7 nk

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

  • Пользователи
  • PipPipPip
  • 228 сообщений
  • Пол:Мужчина

Отправлено 03 Май 2011 - 10:05

Просмотр сообщенияРазработчик (3.5.2011, 10:01) писал:

$line_id тоже можно использовать. "{ID}" по сути заменяется на нее же.
всё гуд, благодарю, заменил GET на {ID}





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

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