4
Удаление записи
Автор arsenal, 07 марта 2012 11:42
Сообщений в теме: 11
#1
Отправлено 07 Март 2012 - 11:42
В вычислениях можно выбрать условие срабатывания "Удаление в таблице". Вопрос в следующем: будет ли срабатывать это вычисление если удалять запись не через кнопку "Удалить", а через вычисление типа "DELETE FROM ..."?
#2
Отправлено 07 Март 2012 - 13:42
Нет, прямые запросы к базе, не отслеживаются. Если вы пользуетесь прямыми запросами, и хотите обработку событий, вам необходимо активировать их вручную. Например:
$event = array(...);
popup_event($table, $line, $event);
$event = array(...);
popup_event($table, $line, $event);
#3
Отправлено 07 Март 2012 - 13:58
Если не сложно, поясните на конкретном примере.
Например: таблица "Договора" (номер 84), запись ХХХ, событие - удаление записи.
Как в этом случае будет выглядеть этот код? И какие события вообще можно активировать?
Например: таблица "Договора" (номер 84), запись ХХХ, событие - удаление записи.
Как в этом случае будет выглядеть этот код? И какие события вообще можно активировать?
#4
Отправлено 11 Март 2012 - 10:28
Можно активировать любые события.
$event = array('То что заполнять сдесь смотрим через print_r($event) при срабатывании вычисления');
$table = get_table(84);
$sqlQuery = "SELECT * FROM ".DATA_TABLE."84 WHERE id='XXX'";
$result = sql_query($sqlQuery) or user_error(mysql_error()."<br>".$sqlQuery."<br>", E_USER_ERROR);
$line = mysql_fetch_assoc($result);
popup_event($table, $line, $event);
$event = array('То что заполнять сдесь смотрим через print_r($event) при срабатывании вычисления');
$table = get_table(84);
$sqlQuery = "SELECT * FROM ".DATA_TABLE."84 WHERE id='XXX'";
$result = sql_query($sqlQuery) or user_error(mysql_error()."<br>".$sqlQuery."<br>", E_USER_ERROR);
$line = mysql_fetch_assoc($result);
popup_event($table, $line, $event);
#5
Отправлено 11 Март 2012 - 10:31
Вышеописанный код только пример, например нельзя переопределять $table и $line в вычислениях.
#6
Отправлено 03 Январь 2013 - 21:02
Есть таблица1 и таблица2. Я из вычисления таблицы1 с помощью кода удаляю запись в таблице2. Могу ли я сгенерировать событие на удаление для удаленной записи в таблице2?
delete_query("таблица2", "id=".intval($row['id']));
#7
Отправлено 09 Январь 2013 - 10:47
На текущий момент на удаление событие не будет сформировано. Это недоработка, будет исправлено в будущих ревизиях.
#9
Отправлено 09 Январь 2013 - 12:28
я не совсем понял что должна содержать $line?
#10
Отправлено 09 Январь 2013 - 14:08
Удаляемую запись, в данном случае.
#11
Отправлено 14 Январь 2013 - 11:59
а какой синтаксис на удаление всех записей из таблицы при помощи delete_query
вот так получится?
delete_query("таблица2");
вот так получится?
delete_query("таблица2");
Сообщение отредактировал UmaCat: 14 Январь 2013 - 12:00
#12
Отправлено 14 Январь 2013 - 12:04
Физического удаления не будет, а лишь изменения статуса всех записей на удаленные. Чтобы удалить все записи физически :
//Вычисляем количество расхода по данному наименованию $sqlQuery = "DELETE FROM ".DATA_TABLE."86"; $result = sql_query($sqlQuery) or die(mysql_error()."<br>".$sqlQuery);где 86 - номер таблицы.
Сообщение отредактировал wondertalik: 14 Январь 2013 - 12:10
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных