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

Array + CheckBox


JonasFloripa

Pergunta

Olá pessoal, estou com um pequeno problema no meu código.

Vou tentar explicar:

Tenho uma lista com nomes e horas extras de 100%, de 200% e adicional noturno.

Essa lista tem antes do novo um checkbox que já vem selecionado por padrão.

Essa lista seerve para confirmar a quantidade de hora que cada um fez, podendo cada hora extra ter um valor.

Sendo assim , quando confirmo a quantidade de hora feita e cadastro, ele está pegando os valores do último da lista e aplicando para todos dessa lista. Não sei o que está errado, alguém pode me ajudar?

Eu faço o cadastro pelo login do funcionário.

página com a lista de funcionários

<table width="100%" border="0" cellpadding="1" cellspacing="1">
   
        <tr>
        <td width="3%"><?php if($login != null){?><input name="conf[]" type="checkbox" checked value="<?php echo $linhaE['login']; ?>" readonly="readonly"/><?php }?></td>
         <td width="12%"><input name="login" type="text" value="<?php echo $linhaE['login']; ?>" readonly="readonly" /></td>
         <td width="7%"><input name="hora1" type="text" value="<?php echo $linha['qtdhoras1']; ?>" size="6" /></td>
         <td width="7%"><input name="hora2" type="text" value="<?php echo $linha['qtdhoras2']; ?>" size="6" /></td>
         <td width="11%"><input name="adicional" type="text" value="<?php echo $adicional; ?>" size="6" /></td>
         <td width="10%"><input name="data" type="text" value="<?php echo $linha['data']; ?>" size="10" readonly="readonly"/></td>
          <td width="50%"><input name="id" type="text" value="<?php echo $linha['id']; ?>" size="1" readonly="readonly" /><?PHP echo $linha['local'];;?></td>
        </tr>
</table>
Essa é página que faz o controle dos dados vindo da página anterior, seria o login, a hora de 100%, a hora de 200% e o adicional noturno
<?php
    $verIncluir = false;

    $login = $_POST['login'];
    $conf  = $_POST['conf'];
    $hora1  = $_POST['hora1'];
    $hora2  = $_POST['hora2'];
    $adicional  = $_POST['adicional'];
    $data  = $_POST['data'];
    $id = $_POST['id'];


    require ("DB_mysql.php");
    $obj = new DB_mysql;
    $tamanho = strlen($login);
    
    if(isset($conf)) {
    
            foreach($conf as $login => $value){
                    $query = "insert into totalhoras (login, hora1, hora2, adicional, data) values('$value','$hora1','$hora2','$adicional','$data')";
                    $obj->executaQuery($query);
                    $verIncluir = true;
            }    
       $obj->closeVar($query);      
       $obj->closeQuery();
       $obj->closeConexaoGeral();
        
        // Redireciona
        if( $verIncluir == false )
        {
            echo 'Não foi possível efetuar o cadastro.';
        }
        else
        {
            header ("Location:../adm/busca_escala_horaextra.php");
            $queryC = "update escalahoraextra set chave=1 where id=$id";
            $obj->executaQuery($queryC);
        }
    }
?>

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Boa noite.

Esta questão de lançar horas extras e adicional noturnos (entre outros), são um pouco complicados devidos a erros de julgamentos do lançador.

Muitas vezes ele vai achar que tem adicional e não tem,

ou tem hora extra de 200% e é de apenas 100% (aliás, nem eu sabia que havia horas extras de 200%).

Tive vários problemas quanto a isso, ainda mais se o número de pessoas é bastante grande para ser lançado.

Há algum tempo desenvolvi um software simples que com base nos dados (horário inicio, horario final),

ele decide se tem H.Extras e que tipo, bem como adicional noturno.

Caso queira saber mais, fique a vontade.

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0

Olá, entendi que seu codigo tem uma espécie de LOOP em que essa sua tabela está encravada dentro dele. Além disso existe um FORM que engloba tudo. É isso?

Se for, os outros campos tambem teriam de ser colocados com array não teriam? não somente o checkbox... tipo: login[], hora1[], hora2[].

Não sei se ajudei... :blink:

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
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...