Ola pessoal, estou com um probleminha:
Minhas tabelas
Tabela com nome de edu_matricula com os seguintes campos, idmatricula, idcliente e idserie_turma_periodo, eu criei um forme atraves desta tabela.
Tabela edu_historico com os campos, idhistorico, idmatricula, idserie_disciplina.
Tabela edu_serie_disciplina com os campos, idserie_disciplina, iddisciplina e idserie_turma_periodo.
O que eu preciso:
Ao apertar o botão inserir o meu forme inserira um registro na tabela edu_matricula, pois o forme foi criado a partir desta tabela, porem eu preciso pegar o ultimo registro inserido que no meu caso é o campo idmatricula que é um campo chame e auto increment, depois disso irei alimentar a minha outra tabela (edu_historico) com este ultimo resgisto recuperado mais os valores que terei que pegar também da tabela edu_serie_disciplina.
Para isso fiz:
No evento onAfterInsert
//aqui eu teria que colocar o resultado da select em uma array, pois ele me retorna 3 valores (não sei como fazer)
sc_lookup(retorno_idserie_disciplina,"SELECT idserie_disciplina
FROM edu_serie_disciplina
WHERE idserie_turma_periodo = 212
");
aqui tinha que ser uma array = {retorno_idserie_disciplina[0][0]};
/**
- Insert a record on another table
*/
// SQL statement parameters
$insert_table = 'edu_historico'; // Table name
$insert_fields = array( // Field list, add as many as needed
'idmatricula' => "'aqui o ultimo registro inserido que no vaso é o idmatricula'",
'idserie_disciplina' => "'{aqui a array da select que eu fiz no inicio deste codigo}'",
);
// Insert record
$insert_sql = 'INSERT INTO ' . $insert_table
. ' (' . implode(', ', array_keys($insert_fields)) . ')'
. ' VALUES (' . implode(', ', array_values($insert_fields)) . ')';
sc_exec_sql($insert_sql);
a tabela edu_histórico deveria ficar assim caso o sc_lookup me retorne os 3 valores:
idhistorico - idmatricula - idserie_disciplina
1 1 25
2 1 29
3 1 35