Autor Tópico: Inserir dados de uma tabela para outra  (Lida 1157 vezes)

adrianacombat

  • Avançado
  • ****
  • Mensagens: 307
    • Email
Inserir dados de uma tabela para outra
« Online: Maio 26, 2014, 02:06:01 pm »
Olá pessoal!

Tenho um form chamado Vales que guardo as datas de evento(eventos_vales), Data de criação  entre outros e um outro form como um mestre detalhes que possui o mesmo campo data eventos(eventos_insertvales) que prendo copiar do form vales, só não está dando certo.
--------------------------------------------------
Form_vales
evento_vales

Form_insertvales (mestredetalhes)
evento_insertvales
--------------------------------------------------

Fiz no método php o seguinte comando que chamei de dados:

/**
 * Insert a record on another table
 */

// SQL statement parameters
$insert_table  = 'insertvales';      // Table name que recebe os dados
$insert_fields = array(   // Field list, add as many as needed
     'evento_insertvales' => "'{evento_vales}'",
     
 );

// Insert record
$insert_sql = 'INSERT INTO ' . $insert_table
    . ' ('   . implode(', ', array_keys($insert_fields))   . ')'
    . ' VALUES ('    . implode(', ', array_values($insert_fields)) . ')';

sc_exec_sql($insert_sql);

E chamei pelo Eventos Onload -> dados();
-------------------------------------------------------------------------------------------------------------------------------------
Quando rodo a aplicação aparece no banco mais um registro só com a data do evento e o restante nulo e no registro principal esta vazio: não esta gravando no campo do mesmo registro, oq posso fazer para resolver este problema de registros dobrados e que informe no campo correto?

Veja a imagem.

Obrigada desde já




Robert Berbert

  • Expert
  • *****
  • Mensagens: 769
  • Desenvolver é sempre estar se atualizando.
    • Conesoft
    • Email
Re:Inserir dados de uma tabela para outra
« Responder #1 Online: Maio 27, 2014, 10:28:52 am »
Código: [Selecionar]
$insert_table  = 'insertvales';      // Table name que recebe os dados
$insert_fields = array(   // Field list, add as many as needed
     'evento_insertvales' => "'{evento_vales}'",
     
 );

Mas ele faz exatamente o que vc está fazendo.

Código: [Selecionar]
'evento_insertvales' => "'{evento_vales}'"
Você precisa passar todas as outras informações também, o SC não sabe disso automaticamente.

Código: [Selecionar]
$insert_table  = 'insertvales';      // Table name que recebe os dados
$insert_fields = array(   // Field list, add as many as needed
     'evento_insertvales' => "'{evento_vales}'",
     'outra_coluna1' => "'{outra_coluna1}'",
     'outra_coluna2' => "'{outra_coluna2}'",
     'outra_coluna3' => "'{outra_coluna3}'",     
     'outra_coluna4' => "'{outra_coluna4}'" 
 );
-- Design ou programador eis a questão.

adrianacombat

  • Avançado
  • ****
  • Mensagens: 307
    • Email
Re:Inserir dados de uma tabela para outra
« Responder #2 Online: Maio 28, 2014, 09:28:35 am »
Eu só preciso de uma informação que é o evento.

Robert Berbert

  • Expert
  • *****
  • Mensagens: 769
  • Desenvolver é sempre estar se atualizando.
    • Conesoft
    • Email
Re:Inserir dados de uma tabela para outra
« Responder #3 Online: Maio 28, 2014, 03:51:00 pm »
Mas esse insert só vai inserir o evento mesmo, o resto vai vir da onde? Como você pretende que essas informações não sejam nulas?
-- Design ou programador eis a questão.