0 LIMIT 1"; $rez = mysql_query($sql_deal); if ($rez && mysql_num_rows($rez) > 0) { $row = mysql_fetch_assoc($rez); $deal_id = intval($row['deal_id']); // Помечаем сделку как отменённую (status = 2) mysql_query("UPDATE deals SET status = 2 WHERE id = $deal_id"); // Обнуляем deal_id у связанных заявок $dealRow = mysql_fetch_assoc(mysql_query("SELECT side_one_requisition_id, side_two_requisition_id FROM deals WHERE id = $deal_id")); $linkedReqs = array_filter(array_map('intval', [$dealRow['side_one_requisition_id'], $dealRow['side_two_requisition_id']])); if (!empty($linkedReqs)) { mysql_query("UPDATE requisitions SET deal_id = NULL WHERE id IN (" . implode(',', $linkedReqs) . ")"); } // Запись в историю сделки — кто отменил $user_id = $_SESSION['id']; $cancel_comment = "Сделка отменена. Отменил: " . $_SESSION['fio']; mysql_query("INSERT INTO user_client_events (user_id, deal_id, type, name, comment, create_date) VALUES ($user_id, $deal_id, 'deal', 'Отмена сделки', '" . addslashes($cancel_comment) . "', NOW())"); // Помечаем все остальные события этой сделки как отменённые mysql_query("UPDATE user_client_events SET cancel = 1 WHERE deal_id = $deal_id AND cancel = 0"); mysql_query("UPDATE user_object_events SET cancel = 1 WHERE deal_id = $deal_id AND cancel = 0"); } }