foreach faz insert em duplicidade
Olá pessoal, sou iniciante em programação e estou batendo a cabeça a dias com esse código, exibe um relatório em pdf direitinho, mas o insert sai duplicado na tabela em que preciso gravar, já tentei de tudo, alguém pode me dar uma dica?
foreach ($presenca as $c) { $ID_FUNCIONARIO = ($c->FUNCIONARIO); $nomeFUNCIONARIO = ($c->NOMEFUNC); $DTPONTO = ($c->DTPONTO); $MARCACAO = ($c->MARCACAO); $HORA = explode(",", $MARCACAO); $HORADIV = $HORA[0] . "," . $HORA[1] . "," . $HORA[2] . "," . $HORA[3] . "," . $HORA[4] . "," . $HORA[5]; echo '<tr>'; echo '<td>' . $ID_FUNCIONARIO . '</td>'; echo '<td>' . $nomeFUNCIONARIO . '</td>'; echo '<td>' . date('d/m/Y', strtotime($DTPONTO)) . '</td>'; echo '<td>' . $HORA[0] . '</td>'; echo '<td>' . $HORA[1] . '</td>'; echo '<td>' . $HORA[2] . '</td>'; echo '<td>' . $HORA[3] . '</td>'; echo '<td>' . $HORA[4] . '</td>'; echo '<td>' . $HORA[5] . '</td>'; echo '</tr>'; $SQL = mysql_query ("INSERT INTO TABELA (ID_FUNCIONARIO, DTPONTO, MARCACAO) VALUES ('$FUNCIONARIO', '$DTPONTO', '$MARCACAO')")OR DIE(mysql_error()); }
Karina Alves
Curtidas 0
Melhor post
Marlon Gera
04/05/2018
Você tem que retirar todos os códigos de inset de dentro do foreach.
Algo do tipo, como eu não sei o resto do seu código, posso ajudar somente até aqui :D
Att.
Marlon Breno Gera
$ID_FUNCIONARIO = ($c->FUNCIONARIO); $nomeFUNCIONARIO = ($c->NOMEFUNC); $DTPONTO = ($c->DTPONTO); $MARCACAO = ($c->MARCACAO); $HORA = explode(",", $MARCACAO); $HORADIV = $HORA[0] . "," . $HORA[1] . "," . $HORA[2] . "," . $HORA[3] . "," . $HORA[4] . "," . $HORA[5]; $SQL = mysql_query ("INSERT INTO TABELA (ID_FUNCIONARIO, DTPONTO, MARCACAO) VALUES ('$FUNCIONARIO', '$DTPONTO', '$MARCACAO')")OR DIE(mysql_error()); foreach ($presenca as $c) { echo '<tr>'; echo '<td>' . $ID_FUNCIONARIO . '</td>'; echo '<td>' . $nomeFUNCIONARIO . '</td>'; echo '<td>' . date('d/m/Y', strtotime($DTPONTO)) . '</td>'; echo '<td>' . $HORA[0] . '</td>'; echo '<td>' . $HORA[1] . '</td>'; echo '<td>' . $HORA[2] . '</td>'; echo '<td>' . $HORA[3] . '</td>'; echo '<td>' . $HORA[4] . '</td>'; echo '<td>' . $HORA[5] . '</td>'; echo '</tr>'; }
Algo do tipo, como eu não sei o resto do seu código, posso ajudar somente até aqui :D
Att.
Marlon Breno Gera
GOSTEI 2
Mais Respostas
Karina Alves
27/04/2018
Não deu certo o insert dentro nem fora do foreach, então encontei uma outra solução.
Antes de imprimir os dados na tela fiz uma trigger no mysql para inserir os dados em outra tabela e deu super certo.
Obrigada pela ajuda!
Antes de imprimir os dados na tela fiz uma trigger no mysql para inserir os dados em outra tabela e deu super certo.
Obrigada pela ajuda!
GOSTEI 0