Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia...
Estou com um probleminha no INSERT..
estou tentando inserir dentro de um LOOP, porem tem vezes que ele insere correto e tem vezes q ele insere mais de uma vez, incorretamente.
O esquema é o seguinte, o usuário escolhe uma data inicial e uma data final, entra com o numero de horas trabalhadas, comentarios, etc.. e o SQL deveria inserir de acordo com os dias em que ele colocou..
Ex:
Data Inicial: 2008/01/01
Data Final: 2008/01/05
Horas trabalhadas: 08:00
Comentário: Teste
o SQL deveria inserir desta forma
ID Data Horas Comentario
0001 2008/01/01 08:00 Teste
0002 2008/01/02 08:00 Teste
0003 2008/01/03 08:00 Teste
0004 2008/01/04 08:00 Teste
0005 2008/01/05 08:00 Teste
a quantidade de registros inseridos é o espaçamento de tempo entre a Data Inicial e a Data Final.
Porem tem vezes que ele insere normal e as vezes ele insere registros duplos, com o mesmo dias.. totalmente sem logica
Quando insere errado.. insere assim
ID Data Horas Comentario
0001 2008/01/01 08:00 Teste
0002 2008/01/01 08:00 Teste
0003 2008/01/03 08:00 Teste
0004 2008/01/04 08:00 Teste
0005 2008/01/05 08:00 Teste
0006 2008/01/01 08:00 Teste
0007 2008/01/01 08:00 Teste
0008 2008/01/03 08:00 Teste
0009 2008/01/04 08:00 Teste
0010 2008/01/05 08:00 Teste
o codigo que estou usando é esse
CODE
if($erro!=1){ // Se não ocorrer erros.
while($aponDatainicial <= $aponDataFinal){ // Loop para inserir cada dia em 1 registro individual.
//Insere o registro de data de acordo com o incremento da variavel "$aponDatainicial".
$sql_apontamento = "INSERT INTO tb_apontamentos (idApontamentos, idUsuario,idProjeto,idTarefa, aponData, aponHoras, aponComentario) VALUES ('" .$idApontamento. "', '" .$idUsuario. "', '".$idProjeto."', '".$idTarefa."', '".$aponDatainicial."', '".$aponHoras."', '".$aponComentario."')";
$query_apontamento = mysql_query($sql_apontamento,$cnGerenciamento) or die(mysql_error());
$aponDatainicial++;
} // Continua o LOOP enquanto a data inicial for menor ou igual a data final.
Alguem está vendo algum erro!?
Obrigado
Carregando comentários...