Как получить телефоны назначенных пользователей, если их несколько?

Все вопросы/проблемы по установке и использовании.
Ответить
Аватара пользователя
SalahievFR
Сообщения: 269
Зарегистрирован: 22 янв 2023, 10:14
Имя: Фанис Салахиев
Откуда: Россия Казань
Контактная информация:

Как получить телефоны назначенных пользователей, если их несколько?

Сообщение SalahievFR »

Есть записи в сущности, в каждой записи есть назначенные пользователи. Какой тип поля создать и каким запросом или кодом подтянуть в одно поле номера телефонов всех назначенных пользователей?
Поле Контакты: 89999…,8999…, и т.д.
tehnos
Сообщения: 127
Зарегистрирован: 13 сен 2021, 17:10
Имя: Евгений
Откуда: Алушта

Re: Как получить телефоны назначенных пользователей, если их несколько?

Сообщение tehnos »

Родил вот такую конструкцию. Написано в блокноте, работоспособность надо проверять :)

// field_819 - поле с назначенными пользователями
// field_820 - целевое поле с номерами телефонов
// app_entity_69 - сущность с целевыми записями
// field_1087 - поле с номером телефона пользователя
// app_entity_1 - сущность "Пользователи"

Поле "PHP код":

Код: Выделить всё

$users_query = db_query("SELECT `field_819` FROM `app_entity_69` WHERE `id` = [id]"); // запрос списка назначенных пользователей из текущей записи
$users_row = mysqli_fetch_assoc($users_query);
$users_arr = explode(',', $users_row['field_819']); // разбор строки и упаковка в массив
$tel_arr = array(); 
foreach($users_arr as $user_id) { // перебор массива с пользователями и упаковка в массив номеров телефонов
	$tel_query = db_query("SELECT `field_1087` FROM `app_entity_1` WHERE `id` = {$user_id}");
	$tel_row = mysqli_fetch_assoc($tel_query);
	$tel_arr[] = $tel_row['field_1087'];
}
$tel_numbers = implode(',', $tel_arr); // сборка строки с номерами телефонов из массива
db_query("UPDATE `app_entity_69` SET `field_820` = {$tel_numbers} WHERE `id` = [id]"); // запись строки с номерами в поле текущей записи
Аватара пользователя
SalahievFR
Сообщения: 269
Зарегистрирован: 22 янв 2023, 10:14
Имя: Фанис Салахиев
Откуда: Россия Казань
Контактная информация:

Re: Как получить телефоны назначенных пользователей, если их несколько?

Сообщение SalahievFR »

tehnos писал(а): 25 май 2023, 21:24 Родил вот такую конструкцию. Написано в блокноте, работоспособность надо проверять :)

// field_819 - поле с назначенными пользователями
// field_820 - целевое поле с номерами телефонов
// app_entity_69 - сущность с целевыми записями
// field_1087 - поле с номером телефона пользователя
// app_entity_1 - сущность "Пользователи"

Поле "PHP код":

Код: Выделить всё

$users_query = db_query("SELECT `field_819` FROM `app_entity_69` WHERE `id` = [id]"); // запрос списка назначенных пользователей из текущей записи
$users_row = mysqli_fetch_assoc($users_query);
$users_arr = explode(',', $users_row['field_819']); // разбор строки и упаковка в массив
$tel_arr = array(); 
foreach($users_arr as $user_id) { // перебор массива с пользователями и упаковка в массив номеров телефонов
	$tel_query = db_query("SELECT `field_1087` FROM `app_entity_1` WHERE `id` = {$user_id}");
	$tel_row = mysqli_fetch_assoc($tel_query);
	$tel_arr[] = $tel_row['field_1087'];
}
$tel_numbers = implode(',', $tel_arr); // сборка строки с номерами телефонов из массива
db_query("UPDATE `app_entity_69` SET `field_820` = {$tel_numbers} WHERE `id` = [id]"); // запись строки с номерами в поле текущей записи
Спасибо, буду проверять. По результату отпишусь)
Аватара пользователя
Oleg
Сообщения: 468
Зарегистрирован: 26 окт 2018, 08:23
Имя: Олег Родионов
Откуда: Россия,Санкт-Петербург

Re: Как получить телефоны назначенных пользователей, если их несколько?

Сообщение Oleg »

А для чего? Какой бизнес процесс?
Установка и настройка IP ATC Asterisk
Аватара пользователя
SalahievFR
Сообщения: 269
Зарегистрирован: 22 янв 2023, 10:14
Имя: Фанис Салахиев
Откуда: Россия Казань
Контактная информация:

Re: Как получить телефоны назначенных пользователей, если их несколько?

Сообщение SalahievFR »

tehnos писал(а): 25 май 2023, 21:24 Родил вот такую конструкцию. Написано в блокноте, работоспособность надо проверять :)

// field_819 - поле с назначенными пользователями
// field_820 - целевое поле с номерами телефонов
// app_entity_69 - сущность с целевыми записями
// field_1087 - поле с номером телефона пользователя
// app_entity_1 - сущность "Пользователи"

Поле "PHP код":

Код: Выделить всё

$users_query = db_query("SELECT `field_819` FROM `app_entity_69` WHERE `id` = [id]"); // запрос списка назначенных пользователей из текущей записи
$users_row = mysqli_fetch_assoc($users_query);
$users_arr = explode(',', $users_row['field_819']); // разбор строки и упаковка в массив
$tel_arr = array(); 
foreach($users_arr as $user_id) { // перебор массива с пользователями и упаковка в массив номеров телефонов
	$tel_query = db_query("SELECT `field_1087` FROM `app_entity_1` WHERE `id` = {$user_id}");
	$tel_row = mysqli_fetch_assoc($tel_query);
	$tel_arr[] = $tel_row['field_1087'];
}
$tel_numbers = implode(',', $tel_arr); // сборка строки с номерами телефонов из массива
db_query("UPDATE `app_entity_69` SET `field_820` = {$tel_numbers} WHERE `id` = [id]"); // запись строки с номерами в поле текущей записи
Вроде все сделал правильно по вашей инструкции пустое поле выходит.
Аватара пользователя
SalahievFR
Сообщения: 269
Зарегистрирован: 22 янв 2023, 10:14
Имя: Фанис Салахиев
Откуда: Россия Казань
Контактная информация:

Re: Как получить телефоны назначенных пользователей, если их несколько?

Сообщение SalahievFR »

Oleg писал(а): 25 май 2023, 22:32 А для чего? Какой бизнес процесс?
На самом деле телефон мне не нужен. Я создам поле ЧАТ ИД в сущности пользователи. А потом в другой сущности хочу собрать эти чат ид пользователей, которые назначены в данной записи. Дальше через php отправлю уведомление пользователям в телеграм(готовый код уже есть).
tehnos
Сообщения: 127
Зарегистрирован: 13 сен 2021, 17:10
Имя: Евгений
Откуда: Алушта

Re: Как получить телефоны назначенных пользователей, если их несколько?

Сообщение tehnos »

Где-то косяк. Надо дебажить.
Аватара пользователя
SalahievFR
Сообщения: 269
Зарегистрирован: 22 янв 2023, 10:14
Имя: Фанис Салахиев
Откуда: Россия Казань
Контактная информация:

Re: Как получить телефоны назначенных пользователей, если их несколько?

Сообщение SalahievFR »

tehnos писал(а): 26 май 2023, 18:36 Где-то косяк. Надо дебажить.
Спасибо, я разобрался в Вашем коде. Вы мне очень помогли.)
Ответить