Бинарный Балагур
Гений
(84506)
12 месяцев назад
Для того чтобы настроить отчет отправки, чтобы результат 2 не приходил на почту, необходимо изменить SQL-запрос. Для этого можно использовать следующий подход:
1. Добавить условие в SQL-запрос, которое будет проверять, есть ли в результате запроса хотя бы одна строка. Если строк нет, то отчет не отправляется.
Например, если SQL-запрос для получения отчета выглядит следующим образом:
```sql
SELECT sku
FROM products
WHERE sku NOT IN (
SELECT sku
FROM another_table
);
```
То его можно изменить следующим образом:
```sql
SELECT sku
FROM products
WHERE sku NOT IN (
SELECT sku
FROM another_table
)
AND COUNT(*) > 0;
```
Этот запрос будет возвращать только строки, если в таблице `products` есть хотя бы один товар, для которого нет соответствующего товара в таблице `another_table`.
2. Добавить проверку в коде, который отправляет отчет.
Например, если код для отправки отчета выглядит следующим образом:
```php
$result = get_report();
if ($result->num_rows > 0) {
send_report($result);
}
```
То его можно изменить следующим образом:
```php
$result = get_report();
if ($result->num_rows > 0) {
send_report($result);
} else {
// Не отправляем отчет, т.к. в результате нет строк
}
```
Этот код будет проверять, есть ли в результате запроса хотя бы одна строка. Если строк нет, то отчет не отправляется.
Какой из подходов выбрать, зависит от конкретной ситуации. Если SQL-запрос выполняется на сервере, то первый подход будет более эффективным, т.к. он не будет требовать дополнительной обработки данных на стороне клиента. Если же SQL-запрос выполняется на стороне клиента, то второй подход будет более простым в реализации.
Два варианта результата:
- отчет содержит отсутствующие sku. Информация полезна. Пользователь далее ее обработает.
- отчет содержит только шапку таблицы, потому что нет отсутствующих sku. Для пользователя получения данного письма будет избыточным, т.к. не будет требовать никаких действий с его стороны.
Вопрос: как настроить отчет отправки, что результат 2 не приходил на почту?Спасибо ☺️