Lookup Manual - Múltiplos Valores - PDFReport

Pessoa,
Preciso de uma ajuda para tentar resolver um problema de informações no relatório que estou montando no Report PDF.
1- O Campo da Tabela é do tipo varchar.
2- No formulário tem um Lookup Manual de Multiplos Valores (Delimitador = ;).
3- No PDF Report que estou montando eu consigo recuperar os dados corretamente conforme o lookup que foi criado.

Porem, na hora da impressão os dados sai na sequencia e tudo continuo, sem uma separação por virgula ou alguma coisa do tipo.(Aqui que está o problema).
Como eu poderia fazer uma concatenação e na hora da impressão sair com (,) virgula entre uma retorno e outro do lookup já que são múltiplos valores.

P1
Lookup que foi criado no formulário e PDF Report.

P2
No PDF Report está sendo impresso assim

P3
No campo da tabela conforme configurado com o ; para cada registro.

Opção para inserir (,) virgula entre cada retorno que é uma palavra do lookup que foi criada
Obrigado.

Ou vc usa o método automático com concat, ou no evento vc da um explode com implode da forma q vc quer.

Lucas,
Boa noite. Obrigado pelo retorno.
Eu entendi a dinâmica de como efetuar o procedimento.
Porem, como eu fiz um campo de lookup manual e gravo no banco o valor.
Para dar certo, eu teria que extrair o valor no meu caso conforme imagem 2 para RG, 1 para CPF e depois validar cada valor para retornar a descrição referente ao valor.
Poderia me ajudar com isto de uma forma logica para montar esta estrutura.
Porque ao retornar o valor da coluna da tabela, eu recebo assim: 1;2;3;4;5 etc
Obrigado.

Pelo que entendi esses valores são fixos.

Cria um array com esses valores e descrição, da um explode no ; e faz um foreach para trazer a descrição.

Adapta do seu jeito, mas a idéia é essa…

$arr_tipo_doc = array(	1=>'CPF',
					 	2=>'RG');

$value_bd = '1;2';
$exp_value = explode(";",$value_bd);

foreach($exp_value as $desc_value)
{
	echo $arr_tipo_doc[$desc_value];
	echo '<br>';
}

Lucas,
Boa tarde.
Primeiramente obrigado pelo pronto atendimento.
Eu fiz tudo certo.
Como sou novo em php e estou em aprendizagem… eu não consegui controlar o array.
O que está ocorrendo é que a saída (echo) esta listando apenas o ultimo registro do array.
Exemplo: se o lookup devolve (1;3;8;12)
Quando eu coloco para rodar ele lista no relatório apenas o valor referente ao numero 12. Sempre o ultimo valor do array.
Estou tendo aqui no php.net para tentar percorrer um por um para listar mas ainda não achei como resolver isto.
Se tiver como me ajudar com isto eu agradeço.
Obrigado.

Boa tarde , foi um exemplo.
No caso vc vai ter q concatenar a variável… por isso sempre salva o último valor no caso o 12.

$arr_tipo_doc = array(	1=>'CPF',
					 	2=>'RG');

$value_bd = '1;2';
$exp_value = explode(";",$value_bd);
$vnome_documento  = '';

foreach($exp_value as $desc_value)
{
	$vnome_documento .= $arr_tipo_doc[$desc_value].' ';
}

echo $vnome_documento;

Lucas.
Top.
Muito obrigado.
Abraço.

1 Curtida