В вашем коде следует добавить проверку на количество найденных записей. Если записи не найдены, вы можете выводить сообщение об отсутствии фамилии. Ниже приведен исправленный вариант вашего кода с нужным условием:
```php
$sql = "SELECT npp, fio FROM b_gpeqt_areas WHERE fio LIKE '%$search_title%'";
$res = \Bitrix\Main\Application::getConnection()->query($sql);
if (isset($_POST['fio'])) {
// Инициализируем массив для хранения результатов
$arResult = [];
// Проверяем, есть ли результаты
while($row = $res->fetch(\Bitrix\Main\Text\Converter::getHtmlConverter())) {
$arResult[] = $row;
}
echo '<table>';
echo '<tbody>';
// Если массив результатов не пуст, выводим данные
if (!empty($arResult)) {
foreach ($arResult as $row) {
echo '<tr>';
echo '<td>' . $row['npp'] . '</td>';
echo '<td>' . $row['fio'] . '</td>';
echo '</tr>';
}
} else {
// Если массив пуст, выводим сообщение о том, что фамилия не найдена
echo "<div class='alert alert-warning alert-dismissible fade show' role='alert'>Фамилии: <b>".$search_title."</b> нет в списке</div>";
}
echo '</tbody>';
echo '</table>';
}
```
### Объяснение изменений:
1. **Инициализация массива `$arResult`:** Мы инициализируем массив перед циклом, чтобы в дальнейшем проверять, заполнен ли он данными.
2. **Цикл и проверка массива:** Сначала мы заполняем массив `$arResult` результатами запроса. После этого проверяем, есть ли данные в массиве. Если массив не пуст, значит, были найдены совпадения, и мы выводим их. Если массив пуст, выводится сообщение об отсутствии фамилии.
3. **Структура вывода:** Если нет результатов, мы выводим соответствующее сообщение в случае, если фамилия не найдена, иначе выводим таблицу с результатами.
Таким образом, вы получите желаемую логику поиска с уведомлением о том, что введенная фамилия не найдена в базе данных.