Criar vários registros

(system) #1

Olá,

Tenho um formulário que possui um duplo select para informar os responsáveis por determinada atividade, por padrão, quando seleciono neste duplo select dois ou mais “responsáveis”, o sistema cria no banco de dados um único registro, informando todos estes “responsáveis” no mesmo campo, separados por um separador, porém, oque eu precisava era que o sistema, em vez de criar um único registro na tabela, com todos os responsáveis juntos, criasse um registro para cada usuário, repetindo os valores dos demais campos…

Alguém pode me ajudar?

Obrigado,

(system) #2

Existem duas maneiras para fazer isso, se você tiver uma estrutura assim:

TABELA_ATIVIDADES, TABELA_RESPONSAVEIS, TABELA_ATIVIDADES_x_RESPONSAVEIS

Você vai tratar a 3º tabela como tabela de ligaçãom e vai montar um atualiza tabela de ligação para este relacionamento.
http://www.scriptcase.com.br/site/support/base/index.php?id=227

Se não, se você estiver com uma estrutura assim:

TABELA_ATIVIDADES, TABELA_RESPONSAVEIS

Você vai tratar com uma aplicação de controle e usar um explode para montar um array depois disso é só percorrer o array dando inserts na tabela.

(leosallesdf) #3

Isso realmente funciona, e ja utilizei algumas vezes.

Mas estou com uma duvida relacionada:

E se nao quiser fazer os inserts ainda, mas apenas setar um valor inicial no campo duplo select.

Fiz o explode e na sequencia um foreach. Tentei setar um a um no campo duplo select mas nao deu. Ele mostra somente o ultimo.

vejam o codigo:

[i]
$arr_grupos = explode(";",[op_grupos]);

foreach ($arr_grupos as $arr_gruposA ){

{grupos} = $arr_gruposA;

}[/i]