Montano Postado Janeiro 19, 2009 Denunciar Share Postado Janeiro 19, 2009 (editado) boa noite.. esta dando erro quando eu ponho um update dentro de um for. eu preciso fazer o seguinte.. tenho uma tabela com 4 campos. TA,Comissao_TA,Consultor,Comissao_Consultor;preciso somar todas comissoes de um empregado, sendo que ele pode estar como ta ou consultor, ou até mesmo os dois ao mesmo tempo.para isso fiz esse script.$sql = "select * from tb_comissao where (substring( data_receb , 1 , 7 ) = '20$ano-$mes' or substring( data_exo , 1 , 7 ) = '20$ano-$mes') and (ta = '$empregado[2]' or consultor = '$empregado[2]') ORDER BY ta and consultor ASC "; $result = mysql_query($sql); $linha = mysql_num_rows($result); for ($i=0;$i<$linha;$i++) { $reg = mysql_fetch_row($result); echo "<tr>"; echo "<td><font size='2'><option>$reg[4]</option></font></td>"; //ta echo "<td><font size='2'><option>$reg[5]</option></font></td>"; echo "<td><font size='2'><option>$reg[6]</option></font></td>"; //consultor echo "<td><font size='2'><option>$reg[7]</option></font></td>"; if (($reg[4] == $empregado[2]) and ($reg[6] != $empregado[2])) { $comissao[2] = $reg[5]; $sql="UPDATE tb_fresumo SET nome = '$empregado[2]', valor = '$comissao[2]' WHERE nome = '$empregado[2]'"; $result = mysql_query($sql); } if (($reg[6] == $empregado[2]) and ($reg[4] != $empregado[2])) { $comissao[2] = $reg[7]; $sql="UPDATE tb_fresumo SET nome = '$empregado[2]', valor = '$comissao[2]' WHERE nome = '$empregado[2]'"; $result = mysql_query($sql); } if (($reg[4] == $empregado[2]) and ($reg[6] == $empregado[2])) { $comissao[2] = $reg[5] + $reg[7]; $sql="UPDATE tb_fresumo SET nome = '$empregado[2]', valor = '$comissao[2]' WHERE nome = '$empregado[2]'"; $result = mysql_query($sql); } echo "</tr>"; }só que esta dando erro. alguém sabe me dizer o porq? Editado Janeiro 21, 2009 por Montano Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 M@luco Belez@ Postado Janeiro 20, 2009 Denunciar Share Postado Janeiro 20, 2009 Ola.Vamos por partes:-Quando postar um código, coloca entre as tags code para facilitar a leitura.Quanto ao seu problema:-Que erro está dando?Algumas dicas:-Sempre que for usar o mysql_query(), peça para mostrar na tela possíveis erros, assim.. $result = mysql_query($sql) or die("erro de sql: ".mysql_error()); .. Isso vale para qualquer comando sql(insert, select, update..) -Quando for usar o valor de um array num comando sql, use assim .. valor = '".$comissao[2]."' .. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Montano Postado Janeiro 21, 2009 Autor Denunciar Share Postado Janeiro 21, 2009 Ola.Vamos por partes:-Quando postar um código, coloca entre as tags code para facilitar a leitura.Quanto ao seu problema:-Que erro está dando?Algumas dicas:-Sempre que for usar o mysql_query(), peça para mostrar na tela possíveis erros, assim.. $result = mysql_query($sql) or die("erro de sql: ".mysql_error()); .. Isso vale para qualquer comando sql(insert, select, update..) -Quando for usar o valor de um array num comando sql, use assim .. valor = '".$comissao[2]."' ..certamente o erro deve ser esse. o erro que dava dando era no num_rows. oque indica que o erro seria no select, eu botei assim '$comissao[2]'obrigado pela ajuda, desculpe pela má formataçao do post.problema resolvido. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Montano
boa noite.. esta dando erro quando eu ponho um update dentro de um for.
eu preciso fazer o seguinte.. tenho uma tabela com 4 campos. TA,Comissao_TA,Consultor,Comissao_Consultor;
preciso somar todas comissoes de um empregado, sendo que ele pode estar como ta ou consultor, ou até mesmo os dois ao mesmo tempo.
para isso fiz esse script.
só que esta dando erro.
alguém sabe me dizer o porq?
Editado por MontanoLink para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.