Pessoal, preciso que os itens selecionados em um campo DUPLO SELECT sejam gravados numa nova tabela (tabela filha - cada item do duplo select será um novo registro na tabela filha).
Pensei em criar um MESTRE-DETALHE, mas ficará muito trabalhoso para o usuário, já que faria com que ele tivesse que digitar um por um. Com o campo DUPLO SELECT, essa ação ficaria simplificada, já que tem a possibilidade de selecionar todas as opções (quase 50) e enviar tudo de uma só vez.
Consegui com o código abaixo:
$arr = array({indicador_setor});
foreach ($arr as $value) {
$insert_table = ‘indicadores_formulas_osas’; // Table name
$insert_fields = array( // Field list, add as many as needed
‘indicador_id’ => {indicador_id},
‘Osa_sigla’ =>"’$value’",
);
// Insert record
$insert_sql = ‘INSERT INTO ’ . $insert_table
. ’ (’ . implode(’, ‘, array_keys($insert_fields)) . ‘)’
. ’ VALUES (’ . implode(’, ', array_values($insert_fields)) . ‘)’;
sc_exec_sql($insert_sql);
};
O problema é que o Array exige que o conteúdo do campo esteja delimitado com aspas duplas. Assim:
(“valor1”, “valor2”, “valor3”)
Mas a aplicação do SC grava sem as aspas duplas. Assim: (valor1, valor2, valor3)
Aí não grava, pois estoura o tamanho do campo, pois tenta gravas todos os três valores numa única linha, sendo que deveriam ser três linhas.
Há como gravar no banco com as aspas duplas?
Valter Souza, a opção N-N Relations não resolve pra você?
Caso esta outra tabela tenha uma relação com a tabela do seu formulário, pode utilizar a função citada acima.
Valter bom dia,
Entre em contato comigo, acho que tenho o que você precisa…Se realmente for o que precisas, publicamos aqui…só para ter certeza
marcelo@mytecnologia.com.br ou por skype marcelo.mytecnologia
Thyago, a relação seria 1:N.
Tiago, estou aguardando você me cadastrar no skype e me chamar para conversarmos.
Valter, no caso, você tem um form que vai cadastrar seus dados na tabela correto?
Essa opção N-N Relations pega o valor nesses campos Duplo Select ou checkbox e grava na outra tabela. Veja se consegue resolver.
Marcelo, vc queria conversar sobre o que comigo?
Thyago, você tem razão. A gravação pode ser concretizada com o uso do relacionamento N:N.
O Marcelo me passou uma solução via código, que também funciona.
É bom a gente ter alternativas.
Obrigado a ambos pela ajuda.