Вывести список значений (заголовки) из Глобального списка поля множественного выбора - в поле MySQL формула

Все вопросы/проблемы по установке и использовании.
Аватара пользователя
alcompstudio
Спонсор
Спонсор
Сообщения: 1704
Зарегистрирован: 03 янв 2016, 20:42
Имя: Александр Афанасьев
Откуда: г. Славянск, Донецкая обл.
Организация: Alcomp

Вывести список значений (заголовки) из Глобального списка поля множественного выбора - в поле MySQL формула

Сообщение alcompstudio »

Добрый день!

Есть сущности:

1. Пользователи клиента
2. Местоположения

В Местоположении есть поле Сущность Аякс, в него "подключаю" запись сущности Пользователи клиента, в которой есть поле Выпадающий список со множественным выбором (Глобальный список).

Я хочу в поле MySQL формула выводить заголовки значений из выпадающего списка со множественным выбором (можно через запятую). Сейчас могу вывести только список ID значений через запятую. Для вывода пробовал такую формулу:

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

SELECT name FROM app_global_lists_choices WHERE id in (select field_2715 from app_entity_103 where id = [9666])
... и такую (в надежде, что GROUP_CONCAT поможет)

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

SELECT GROUP_CONCAT(name) FROM app_global_lists_choices WHERE id in (select field_2715 from app_entity_103 where id = [9666])
Также менял часть условия "...WHERE id in..." на "...WHERE id = ...".

Но выводится только заголовок первого значения. 2-е и последующие значения не выводятся.

Какой поставить правильный код, чтобы выводить все значения?
Аватара пользователя
Fait
Инвестор
Инвестор
Сообщения: 743
Зарегистрирован: 19 ноя 2020, 17:46
Имя: Максим Балакшеев
Откуда: Россия, Златоуст
Организация: ИП Балакшеев Максим Георгиевич

Re: Вывести список значений (заголовки) из Глобального списка поля множественного выбора - в поле MySQL формула

Сообщение Fait »

alcompstudio писал(а): 13 мар 2024, 20:54 Добрый день!

Есть сущности:

1. Пользователи клиента
2. Местоположения

В Местоположении есть поле Сущность Аякс, в него "подключаю" запись сущности Пользователи клиента, в которой есть поле Выпадающий список со множественным выбором (Глобальный список).

Я хочу в поле MySQL формула выводить заголовки значений из выпадающего списка со множественным выбором (можно через запятую). Сейчас могу вывести только список ID значений через запятую. Для вывода пробовал такую формулу:

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

SELECT name FROM app_global_lists_choices WHERE id in (select field_2715 from app_entity_103 where id = [9666])
... и такую (в надежде, что GROUP_CONCAT поможет)

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

SELECT GROUP_CONCAT(name) FROM app_global_lists_choices WHERE id in (select field_2715 from app_entity_103 where id = [9666])
Также менял часть условия "...WHERE id in..." на "...WHERE id = ...".

Но выводится только заголовок первого значения. 2-е и последующие значения не выводятся.

Какой поставить правильный код, чтобы выводить все значения?
Скажите, а обязательно MySQL формулой?
Может, поле PHP код? Всё-равно же текст выводиться будет)
Я думаю, так будет эффективнее.

Попробуйте этот код (PHP, динамичный):

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

$item = [9666];
$names = array();
$check_list = db_query('select field_2715 from app_entity_103 where id='.$item);
$values = db_fetch_array($check_list)['field_2715'];
$val_arr = explode(',',$values);
foreach($val_arr as $key => $value) {
  $check_name('select name from app_global_lists_choices where id='.$value);
  $names[] = db_fetch_array($check_name)['name'];
}
$output_value = implode('<br>',$names); // Если нужно другой разделитель, укажите вместо <br> свой вариант.
Могут быть ошибки, я с телефона пишу, код не испытывал
Аватара пользователя
alcompstudio
Спонсор
Спонсор
Сообщения: 1704
Зарегистрирован: 03 янв 2016, 20:42
Имя: Александр Афанасьев
Откуда: г. Славянск, Донецкая обл.
Организация: Alcomp

Re: Вывести список значений (заголовки) из Глобального списка поля множественного выбора - в поле MySQL формула

Сообщение alcompstudio »

Да вот хотелось чтобы проще было... Если как-то "пользовательскими" методами не получается, значит буду тоже костыли изобретать... Спасибо за подсказку, если костыль не получится, то попробую ваш код.
Аватара пользователя
Fait
Инвестор
Инвестор
Сообщения: 743
Зарегистрирован: 19 ноя 2020, 17:46
Имя: Максим Балакшеев
Откуда: Россия, Златоуст
Организация: ИП Балакшеев Максим Георгиевич

Re: Вывести список значений (заголовки) из Глобального списка поля множественного выбора - в поле MySQL формула

Сообщение Fait »

alcompstudio писал(а): 13 мар 2024, 22:03 Да вот хотелось чтобы проще было... Если как-то "пользовательскими" методами не получается, значит буду тоже костыли изобретать... Спасибо за подсказку, если костыль не получится, то попробую ваш код.
PHP код - это тоже пользовательский метод.
Поле ведь предусмотрено системой)
Несколько значений вы иначе не выведете.
Да и зачем делать костыли, если код готовый уже есть, и он отобразит то, что вам нужно.
nruslan2
Сообщения: 2412
Зарегистрирован: 14 окт 2020, 09:13
Имя: Ruslan
Откуда: Moscow
Контактная информация:

Re: Вывести список значений (заголовки) из Глобального списка поля множественного выбора - в поле MySQL формула

Сообщение nruslan2 »

alcompstudio писал(а): 13 мар 2024, 20:54

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

SELECT GROUP_CONCAT(name) FROM app_global_lists_choices WHERE id in (select field_2715 from app_entity_103 where id = [9666])
Также менял часть условия "...WHERE id in..." на "...WHERE id = ...".
попробуйте заместо in использовать команду find in set

судя из описания тут реально обойтись просто sql формулой без тяжелых инструментов)

если не получится! сделайте демо и киньте ссылку!
Аватара пользователя
support
Техническая поддержка
Сообщения: 8993
Зарегистрирован: 19 окт 2014, 18:22
Имя: Харчишин Сергей
Откуда: Крым, Евпатория

Re: Вывести список значений (заголовки) из Глобального списка поля множественного выбора - в поле MySQL формула

Сообщение support »

Александр, вы когда уже курсы по mysql пройдете? Я же вам уже давно об это пишу. Так хоть будете знать где GROUP_CONCAT а где IN а где FIND_IN_SET, а то мне кажется вы методом "научного тыка" все делаете:))

Руслан все верно написал, вам нужно использовать FIND_IN_SET, так как поиск в строке.
Аватара пользователя
alcompstudio
Спонсор
Спонсор
Сообщения: 1704
Зарегистрирован: 03 янв 2016, 20:42
Имя: Александр Афанасьев
Откуда: г. Славянск, Донецкая обл.
Организация: Alcomp

Re: Вывести список значений (заголовки) из Глобального списка поля множественного выбора - в поле MySQL формула

Сообщение alcompstudio »

nruslan2 писал(а): 13 мар 2024, 22:39
alcompstudio писал(а): 13 мар 2024, 20:54

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

SELECT GROUP_CONCAT(name) FROM app_global_lists_choices WHERE id in (select field_2715 from app_entity_103 where id = [9666])
Также менял часть условия "...WHERE id in..." на "...WHERE id = ...".
попробуйте заместо in использовать команду find in set

судя из описания тут реально обойтись просто sql формулой без тяжелых инструментов)

если не получится! сделайте демо и киньте ссылку!
Спасибо за подсказку, уже сделал костыль через "промежуточное" поле, и другой тип поля. Пока вроде работает - т.е. конечная цель достигнута, но немного другим путем. Но возможно попробую и find in set использовать, как-то забыл про него, хотя тут у меня по этому инструменту сомнения... Его цель (если я правильно понял) - просто найти данные среди множества, но не вывести их в каком-то списке. А мне нужно именно перечень текстовых значений, тут скорее всего массив данных нужно "собрать-разбрать", как в коде от Fait .
Аватара пользователя
alcompstudio
Спонсор
Спонсор
Сообщения: 1704
Зарегистрирован: 03 янв 2016, 20:42
Имя: Александр Афанасьев
Откуда: г. Славянск, Донецкая обл.
Организация: Alcomp

Re: Вывести список значений (заголовки) из Глобального списка поля множественного выбора - в поле MySQL формула

Сообщение alcompstudio »

support писал(а): 13 мар 2024, 22:43 Александр, вы когда уже курсы по mysql пройдете? Я же вам уже давно об это пишу. Так хоть будете знать где GROUP_CONCAT а где IN а где FIND_IN_SET, а то мне кажется вы методом "научного тыка" все делаете:))

Руслан все верно написал, вам нужно использовать FIND_IN_SET, так как поиск в строке.
Сергей, я конечно, понимаю, что для сложных конструкций это необходимо, но т.к. Руководитель изначально (я же верно все понимаю?) представлен как no-code/low-code конструктор, поэтому я и хочу вытаскивать из него максимум на уровне "непрограммиста" )) Я вам тоже об этом не раз пытался сказать)) .

Если я начну изучать "Кодирование" в классическом варианте, разработку баз данных и т.п. (прошу прощения за "ламерскую" терминологию), то зачем мне будет нужен Руководитель? )) У меня пока нет времени изучать все основы, мне кажется это уже удел более квалифицированных специалистов, которые имеют опыт, и Руководитель значительно упрощает построение супер-сложных нестандартных решений, где они могут самостоятельно справиться при помощи дополнительных инструментов "снимающих запреты" (всевозможные поля Аякс, php и прочие доп. поля, которые вы создали, чтобы уже можно было разбежаться на полную, но которые не все осиливают).
Но я пока стараюсь все-таки держать марку изначального направления Руководителя. Просто иногда (не так часто) все-таки приходится делать что-то при помощи кода (да, именно, методом "научного тыка", даже на уровне интуиции и какой-то визуальной логики), т.к. казалось-бы можно было внедрить пользовательский функционал в Руководитель, но у вас не всегда получается. И я хочу, чтобы это было как можно проще. Поэтому и спрашиваю подсказки у знающих специалистов. Если не получается - иду "обходным" (возможно и длинным) путем, но все же именно предполагающим no-code методы.
Аватара пользователя
support
Техническая поддержка
Сообщения: 8993
Зарегистрирован: 19 окт 2014, 18:22
Имя: Харчишин Сергей
Откуда: Крым, Евпатория

Re: Вывести список значений (заголовки) из Глобального списка поля множественного выбора - в поле MySQL формула

Сообщение support »

изначально представлен как no-code/low-code конструктор
- о, а я и не знал что это так:) Об этом же нигде не написано на сайте. Да, программа помогает, но что бы все делалось без кода, это не так, я таких целей не ставил.
Аватара пользователя
alcompstudio
Спонсор
Спонсор
Сообщения: 1704
Зарегистрирован: 03 янв 2016, 20:42
Имя: Александр Афанасьев
Откуда: г. Славянск, Донецкая обл.
Организация: Alcomp

Re: Вывести список значений (заголовки) из Глобального списка поля множественного выбора - в поле MySQL формула

Сообщение alcompstudio »

support писал(а): 14 мар 2024, 07:29
изначально представлен как no-code/low-code конструктор
- о, а я и не знал что это так:) Об этом же нигде не написано на сайте. Да, программа помогает, но что бы все делалось без кода, это не так, я таких целей не ставил.
Понятно, значит я что-то себе "накрутил" лишнего. Буду иметь ввиду.
Ответить