Ir para conteúdo
Fórum Script Brasil
  • 0

update dentro de for


Montano

Pergunta

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 por Montano
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

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]."'
..

Link para o comentário
Compartilhar em outros sites

  • 0
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.

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...