Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

lu002047

função de cálculo para uma tabela

Recommended Posts

Amigos,

 

tenho uma tabela gerada dinamicamente em php e preciso fazer uma função que faça um cálculo para cada linha.

 

Consegui fazer a função, mas ela só pega a ultima linha. To quebrando a cabeça, mas até agora nada.

 

Segue meu código:

 

Função

<script>
        function soma(){            
            var determinacao = document.getElementById('<?php echo $determinacao; ?>').value;        
            var impacto = document.getElementById('<?php echo $impacto;?>').value;            
            var alinhamento = document.getElementById('<?php echo $alinhamento;?>').value;
            var situacao = document.getElementById('<?php echo $situacao;?>').value;
            var urgencia = document.getElementById('<?php echo $urgencia;?>').value;
            var complexidade = document.getElementById('<?php echo $complexidade;?>').value;
            var viabilidade = document.getElementById('<?php echo $viabilidade;?>').value;
            var custo = document.getElementById('<?php echo $custo;?>').value;
            var prazo = document.getElementById('<?php echo $prazo;?>').value;
            var riscos = document.getElementById('<?php echo $riscos;?>').value;
            var tempo = document.getElementById('<?php echo $tempo;?>').value;                
            var result = ((parseInt(determinacao)*8) + (parseInt(impacto)*7) + (parseInt(alinhamento)*7) + (parseInt(situacao)*5) + (parseInt(urgencia)*2)) - ((parseInt(complexidade)*2) + (parseInt(viabilidade)*5) + (parseInt(custo)*3) + (parseInt(prazo)*1) + (parseInt(riscos)*4) + (parseInt(tempo)*2));
            document.getElementById('<?php echo $resultado;?>').value = result;    
        }   
    </script>

index.php

    <?php    
        //contador total
        $solicitacoes = 0;
        $i= 0;        
        $x = 0;
        
        while ($dados = mysql_fetch_array($consultaChamado)) {        
          $x++; 
          $x = (string)$x;
          
          $determinacao = 'determinacao'.$x;
          $impacto = 'impacto'.$x;
          $alinhamento = 'alinhamento'.$x;
          $situacao = 'situacao'.$x;
          $urgencia = 'urgencia'.$x;
          $complexidade = 'complexidade'.$x;
          $viabilidade = 'viabilidade'.$x;
          $custo = 'custo'.$x;
          $prazo = 'prazo'.$x;
          $riscos = 'riscos'.$x;
          $tempo = 'tempo'.$x;
          $resultado = 'resultado'.$x;
//---------------------------------ANALISTA-----------------------------------\\                        
            $codigoAnalista = $dados['COD_ANALISTA'];             
            if($codigoAnalista != 0){    
                $nome = mysql_query(
                        "SELECT NOM_USUARIO FROM helpdesk.hdk_usuario C "
                       ."WHERE C.COD_USUARIO = ".$codigoAnalista.";"
                );
                $nomeAnalista = mysql_fetch_row($nome); 
            }elseif($codigoAnalista == 0){
                $codigoAnalista = $dados['COD_GRUPO'];                
                $nome = mysql_query(
                        "SELECT NOM_GRUPO FROM helpdesk.hdk_grupo C "
                       ."WHERE C.COD_GRUPO = ".$codigoAnalista.";"
                );
                $nomeAnalista = mysql_fetch_row($nome); 
            }
//----------------------------DADOS PARA O GRÁFICO----------------------------\\            
            if ($dados['COD_MOTIVO'] === '2' or $dados['COD_MOTIVO'] === '6' or $dados['COD_MOTIVO'] === '10' or $dados['COD_MOTIVO'] === '15' or $dados['COD_MOTIVO'] === '21' or $dados['COD_MOTIVO'] === '24') {
                $contDes++;
            } elseif ($dados['COD_MOTIVO'] === '3' or $dados['COD_MOTIVO'] === '11' or $dados['COD_MOTIVO'] === '17' or $dados['COD_MOTIVO'] === '18' or $dados['COD_MOTIVO'] === '22' or $dados['COD_MOTIVO'] === '26') {
                $contProj++;
            } elseif ($dados['COD_MOTIVO'] === '4' or $dados['COD_MOTIVO'] === '8' or $dados['COD_MOTIVO'] === '12' or $dados['COD_MOTIVO'] === '19' or $dados['COD_MOTIVO'] === '20' or $dados['COD_MOTIVO'] === '27') {
                $contSup++;
            } elseif ($dados['COD_MOTIVO'] === '5' or $dados['COD_MOTIVO'] === '9' or $dados['COD_MOTIVO'] === '14' or $dados['COD_MOTIVO'] === '16' or $dados['COD_MOTIVO'] === '23' or $dados['COD_MOTIVO'] === '25') {
                $contManu++;
            } else {
                $contNaoInfo++;
            }
//-----------------------------------DATA-------------------------------------\\
            //Separação de data, pois no DB está no formato (YYYYMMDDHHMM)
            $DAT_CADASTRO = $dados['DAT_CADASTRO'];
            //ano
            $anoInt = explode(',', $DAT_CADASTRO);
            $anoString = implode(':', $anoInt);
            $anoMostrar = substr($anoString, 0, 4);
            //mes
            $mesMostrar = substr($anoString, 4, 2);
            //dia
            $diaMostrar = substr($anoString, 6, 2);
//-----------------------MOSTRANDO AS INFORMAÇÕES NUMA TABELA----------------\\
            if ($dados ['COD_MOTIVO'] != '0') {            
    ?>    
    <form name='teste'>
        <tr>
            <td><?php echo $diaMostrar."/".$mesMostrar."/".$anoMostrar;?></td>
            <td><?php echo utf8_encode ($nomeAnalista[$i]);?></td>
            <td><?php echo utf8_encode ($dados['DES_MOTIVO']);?></td>
            <td><?php echo utf8_encode($dados['NOM_USUARIO']);?></td>
            <td><?php echo $dados['COD_SOLICITACAO'];?></td>
            <td style='color:<?php echo $corFonte;?>' bgcolor=<?php echo $dados['COD_COR'];?>><?php echo utf8_encode($dados['DES_STATUS']);?></td>
            <td>
                <select name='determinacao' id='<?php echo $determinacao; ?>' onchange='soma();'>
                    <option value=0>Selecione...</option>
                    <option value=1>1</option>
                    <option value=5>5</option>                            
                </select>
            </td>
            <td>
                <select name='impacto' id='<?php echo $impacto;?>' onchange='soma();'>
                    <option value=0>Selecione...</option>
                    <option value=1>1</option>
                    <option value=5>5</option>
                </select>
            </td>
            <td>
                <select name='alinhamento' id='<?php echo $alinhamento;?>' onchange='soma();'>
                    <option value=0>Selecione...</option>
                    <option value=1>1</option>
                    <option value=1>5</option>
                </select>
            </td>
            <td>
                <select name='situacao' id='<?php echo $situacao;?>' onchange='soma();'>
                    <option value=0>Selecione...</option>
                    <option value=1>1</option>
                    <option value=2>2</option>
                    <option value=3>3</option>
                    <option value=4>4</option>
                    <option value=5>5</option>
                </select>
            </td>
            <td>
                <select name='urgencia' id='<?php echo $urgencia;?>' onchange='soma();'>
                    <option value=0>Selecione...</option>
                    <option value=1>1</option>
                    <option value=2>2</option>
                    <option value=3>3</option>
                    <option value=4>4</option>
                    <option value=5>5</option>
                </select>
            </td>
            <td>
                <select name='complexidade' id='<?php echo $complexidade;?>' onchange='soma();'>
                    <option value=0>Selecione...</option>
                    <option value=1>1</option>
                    <option value=3>3</option>
                    <option value=5>5</option>
                </select>
            </td>
            <td>
                <select name='viabilidade' id='<?php echo $viabilidade;?>' onchange='soma();'>
                    <option value=0>Selecione...</option>
                    <option value=1>1</option>
                    <option value=5>5</option>
                </select>
            </td>
            <td>
                <select name='custo' id='<?php echo $custo;?>' onchange='soma();'>
                    <option value=0>Selecione...</option>
                    <option value=1>1</option>
                    <option value=2>2</option>
                    <option value=3>3</option>
                    <option value=4>4</option>
                    <option value=5>5</option>
                </select>
            </td>
            <td>
                <select name='prazo' id='<?php echo $prazo;?>' onchange='soma();'>
                    <option value=0>Selecione...</option>
                    <option value=1>1</option>
                    <option value=2>2</option>
                    <option value=3>3</option>
                    <option value=4>4</option>
                    <option value=5>5</option>
                </select>
            </td>
            <td>
                <select name='riscos' id='<?php echo $riscos;?>' onchange='soma();'>
                    <option value=0>Selecione...</option>
                    <option value=1>1</option>
                    <option value=2>2</option>
                    <option value=3>3</option>
                    <option value=4>4</option>
                    <option value=5>5</option>
                </select>
            </td>
            <td>
                <select name='tempo' id='<?php echo $tempo;?>' onchange='soma();'>
                    <option value=0>Selecione...</option>
                    <option value=1>1</option>
                    <option value=2>2</option>
                    <option value=3>3</option>
                    <option value=4>4</option>
                    <option value=5>5</option>
                </select>
            </td>                    
            <td><input type='text' name='res' id='<?php echo $resultado;?>'/></td>
            <td></td>
        </tr>
    </form>  

Alguém pode me dar uma luz?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não use ID.

 

http://wbruno.github.io/examples/calc-table/

 

Veja como eu navego no DOM, sem utilizar ID.

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

 

Do jeito que você fez dá para usar select option? Para ele fazer o cálculo conforme a opção que eu seleciono?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Wiliam,

 

Vou dar uma pensada aqui em como fazer isso.

 

Obrigado!

 

 

Desculpe, mas não consegui fazer...

Passei o final de semana inteiro tentando e não consegui.

 

 

Galera, alguém pode me ajudar a montar algo parecido com o que o William fez, mas com select option?

 

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

A idéia é a mesma cara.. segue:

 

http://wbruno.github.io/examples/calc-table-select/

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.