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


Повторное появление уведомления через вычисление insert_tip


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

#1 Radik

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

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

Отправлено 13 Июнь 2014 - 10:52

При повторном вычислении поле popup не меняется на 1.

Генерация напоминаний делается вычислением:
insert_tip(1111, 2222, user);

Напоминание появляется, пользователь закрывает его и поле popup принимает значение 0.
При повторном выполнении вычисления (попытке генерации этого напоминания) popup должно становиться опять = 1 (меняться с 0)

Как это реализовать?

#2 Radik

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

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

Отправлено 16 Июнь 2014 - 10:30

1. напоминание должно выполняться не по условию,которое прописано в напоминании. Условие напоминания не используется.
2. напоминание исполняется по вычислению

#3 CbCoder

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

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

Отправлено 16 Июнь 2014 - 11:19

Посмотрел на работу данной функции, при повторном вызове на тот же $line новое напоминание не добавляется, идет обновление текста имеющегося, видимо поэтому popup и не меняется. Объяснить логику данной работы я не могу, т.к. не я добавлял данную функцию. Вы можете самостоятельно добавлять/обновлять запись в таблице cb_tips_show, описание полей было на форуме.

#4 Radik

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

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

Отправлено 16 Июнь 2014 - 11:32

Да, это я заметил. Только не нашел на форуме как мне вычислением полю popup присвоить 0. Можете подсказать?

#5 CbCoder

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

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

Отправлено 16 Июнь 2014 - 11:44

Запросом на обновление записи? Примеров запросов много на форуме.

#6 Radik

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

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

Отправлено 16 Июнь 2014 - 12:19

Сейчас проверю обнуление с помощью вычисления:
sql_update(TIPS_SHOW_TABLE, array("popup"=>0), "table_id=191 and line_id=",$ID);

#7 CbCoder

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

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

Отправлено 16 Июнь 2014 - 12:25

Вместо table_id логичнее tip_id передавать, плюс user_id, если обнуление нужно только для конкретного пользователя. Т.е. условия, аналогичные аргументам в insert_tip.

#8 Radik

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

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

Отправлено 16 Июнь 2014 - 14:34

Согласен. Спасибо работает:

sql_update(TIPS_SHOW_TABLE, array("popup"=>0), "tip_id=айди_напоминания and line_id=",$line['поле_связи_с_таблицей_по_которой_делается_напоминание'][raw]," and user_id =",$line['поле_получателя_напоминания']);





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

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