Jump to content
Fórum Script Brasil
  • 0

Tabela PHP


Question

Boa tarde!

galera estou precisando de uma ajuda.

estou gerando uma tabela atravez de um select no MySQL em PHP, e precisava que uma das colunas dessa tabela fosse atualizada com as horas em tempo real.

segue um exemplo de como esta o codigo:

<script>

            var contador = 100;
            var i=0;
            var intervalo = setInterval('funcao()',1000);
            function funcao()
            {
                for(;i <= contador;)
                {
                    if(i == 100)
                    {
                        i = 0;
                    }
                    document.getElementById('txttimer').value = (i);
                    // document.write(i);
                    i++;
                    break;
                }
            }

</script>

<?php

    $campanha = $_GET['campanha'];
    
    include "conexao_customer.php";
    $sql="
        SELECT
            INDICE,
            TX_CAMPANHA,
            TX_OPERADOR,
            TX_NOME_OPERADOR,
            TX_STATUS_FINAL
        FROM
           NOME DA TABELA
        WHERE
            DATEDIFF(DAY, CONVERT(DATETIME, TX_DATA_CONTATO,103), GETDATE())=0
            AND TX_CAMPANHA = '".$campanha."'";

    $res = mssql_query($sql);
    $num_rows = mssql_num_rows($res);
    
    echo "<thead><tr><th scope='col'>Indice</th><th scope='col'>Campanha</th><th scope='col'>Id Operador</th><th scope='col'>Nome Operador</th><th scope='col'>Status Final</th><th scope='col'>Tempo</th></tr></thead><tbody>";
    for($j=0;$j<$num_rows;$j++)
    {
        $row = mssql_fetch_array($res);
        echo "<tr>";
        echo "<th scope='row'>".$row['INDICE']."</th>";
        echo "<td>".$row['TX_CAMPANHA']."</td>";
        echo "<td>".$row['TX_OPERADOR']."</td>";
        echo "<td>".$row['TX_NOME_OPERADOR']."</td>";
        echo "<td>".$row['TX_STATUS_FINAL']."</td>";
        echo "<td'>".txttimer."</td>"; #Essa coluna teria que mostrar as horas atuais em tempo real
    }
            #echo "</tbody>";
?>

 

#INDEX.PHP

<!DOCKTYPE html>
<html>
    <head>
        <link rel="stylesheet" type="text/css" href="stylesheets.css">
        <link rel="stylesheet" href="Bootstrap/bootstrap-4.1.3-dist/css/bootstrap.min.css">
        <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
        <script type="text/javascript" src="micoxAjax.js"></script>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
        <script src="Bootstrap/bootstrap-4.1.3-dist/js/bootstrap.min.js"></script>
        <script src="Bootstrap/bootstrap-4.1.3-dist/js/bootstrap.js"></script>
        
        
        <script>
            function changeCampanha()
            {
                ajaxGet('load_VendasAuditadas.php?campanha='+document.getElementById('changeCampanha').value, document.getElementById('venda_auditada'), true);
            }

            function selectLine()
            {   
                var tabela = document.getElementById("venda_auditada");
                var linhas = tabela.getElementsByTagName("tr");

                for(var i = 0; i < linhas.length; i++)
                {
                    var linha = linhas;
                    linha.addEventListener("click", function()
                    {
                        selLinha(this, false); //Selecione apenas um 
                        //selLinha(this, true); //Selecione quantos quiser
                        
                    });
                }
                
                function selLinha(linha, multiplos)
                {
                    if(!multiplos)
                    {
                        var linhas = linha.parentElement.getElementsByTagName("tr");
                        for(var i = 0; i < linhas.length; i++)
                        {
                            var linha_ = linhas;
                            linha_.classList.remove("selecionado");    
                        }
                    }
                    linha.classList.toggle("bg-info");
                    //linha.classList.toggle("selecionado");
                }
            }

        </script>
    </head>
    <body>
        <div class="container">
            <div class="col-md-2 col-xs-2 col-sm-2">
                <div class="row">                    
                    <div class="sidebar">
                        <label id="lbchangeCampanha">Campanha</label>
                        <select class="form-control" id="changeCampanha" onchange="changeCampanha()">
                            <option value="SELECIONE:">SELECIONE:</option>
                            <option value="VIRGEM">VIRGEM</option>
                            <option value="ADEQUACAO">ADEQUACAO</option>
                            <option value="ACOMPANHAMENTO">ACOMPANHAMENTO</option>
                            <option value="OS CORREIO">OS CORREIO</option>
                        </select>
                    </div>
                    <div class="row">

                    </div>
                        
                </div>
            </div>        
            <br><br>
            <label id="lbvenda_auditada">Venda Auditada</label>
                    
                <table id="venda_auditada" class="table table-hover" onclick="selectLine()">
                    <div class="col-md-auto">
                        
                    </tr>
                    </tbody>
                    </div>
                </table>
        
        </div>
        
    </body>
    <footer></footer>
</html>

Link to post
Share on other sites

1 answer to this question

Recommended Posts

  • 0

depois de muita pesquisa, consegui resolver meu problema.

segue o código:

************************

//Inicio Arquivo TabelaAuditoria.php
<script>
var temp;
var timer;
function filaAuditoria(id){
    var stop = id;
    var tabela = '#tabelaDados';
    var banco = 'ScriptSQL.php'
    var dados = 'campanha='+document.getElementById('fitroCampanha').value+'&supervisor='+document.getElementById('filtroSupervisor').value;
    if(stop==1)
    {
        clearInterval(timer);
        clearInterval(temp);
        console.log('stop: '+ stop);
        stop = 0;
    }
    timer = setInterval(() => {
        ajax(tabela, banco, dados);
    }, 1000);
    temp = setInterval(() => {
        var TotalId = '#TotalFilaEspera';
        var TotalBanco = '../sql/sqlTotalFilaAuditoria.php';
        var totalDados = dados+'&solic=1';
        ajaxTempos(TotalId,TotalBanco,totalDados);
}, 1000);
</script>

//Fim do Arquivo TabelaAuditoria.php

//Inicio do arquivo Script.js
#AJAX
function ajax(tabela,banco,dados){
    var xhttp = new XMLHttpRequest();
    xhttp.onreadystatechange = function() {
        if (this.readyState == 4 && this.status == 200) {
            document.querySelector(tabela).innerHTML = this.responseText;
        }
    };
    xhttp.open("GET", banco+'?'+dados, true);
    xhttp.send();
};

function ajaxTempos(tabela,banco,dados){
    var xhttp = new XMLHttpRequest();
    xhttp.onreadystatechange = function() {
        if (this.readyState == 4 && this.status == 200) {
            var resultado = this.responseText;
            $(tabela).val(resultado);
        }
    };
    xhttp.open("GET", banco+'?'+dados, true);
    xhttp.send();
};
// Fim do arquivo Script.js

//Inicio Arquivo ScriptSQL.php

<?php

    include "../conexoes/conexao_ambiente121.php";
    $campanha=$_GET['campanha'];
    $supervisor=$_GET['supervisor'];

    if($campanha != "")
    {
        $filtroCampanha=" AND CAMPANHA LIKE '%".$campanha."%'";
    }
    else
    {
        $filtroCampanha = "";
    }

    if($supervisor != "")
    {
        $filtroSupervisor=" AND NOME_SUPERVISOR LIKE '%".$supervisor."%'";
    }
    else
    {
        $filtroSupervisor = "";
    }
    $total = 0;
    /* Parametros do farol
    1 <= 0.00138888888888889 == 00:02:00
    2 <= 0.00416666666666667 == 00:06:00
    3 >  0.00416666666666667 == 00:06:00
    */
    $script = $dbh->prepare("SELECT ID, NOME_OPERADOR,INDICE_CUSTOMER [INDICE], CAMPANHA, NOME_SUPERVISOR, CONVERT(VARCHAR(8), GETDATE()-INICIO_FILA, 108) [Tempo_Espera], CASE WHEN CAST(GETDATE()-INICIO_FILA AS FLOAT) <= '0.00138888888888889' THEN 1 WHEN CAST(GETDATE()-INICIO_FILA AS FLOAT) <= '0.00416666666666667' THEN 2 ELSE 3 END Farol, REPROVA FROM AUDITORIA_VENDAS.DBO.CONTROLE_FILA_AUDITORIA WHERE DATEDIFF(D, INICIO_FILA, GETDATE()) = 0 AND FLAG_CONTROLE = 0 ".$filtroCampanha."".$filtroSupervisor." ORDER BY REPROVA DESC");
    $script->execute();

    while ($filaAuditoria = $script->fetch())
    {
        $total++;
        if($filaAuditoria['Farol'] == 3)
        {
            $farol = '#FF0000';
        }
        else if($filaAuditoria['Farol'] == 2)
        {
            $farol = '#FFFF00';
        }
        else
        {
            $farol = '#00FF00';
        }
        $modal = $filaAuditoria['ID'];
        echo "<tr>";
            echo "<td name='".$filaAuditoria['ID']."'>".$filaAuditoria['ID']."</td>";
            echo "<td>".$filaAuditoria['INDICE']."</td>";
            echo "<td>".$filaAuditoria['CAMPANHA']."</td>";
            echo "<td>".$filaAuditoria['NOME_SUPERVISOR']."</td>";
            echo "<td>".$filaAuditoria['Tempo_Espera']."</td>"; #<-- Esta coluna sera atualizada a cada segundo
            echo "<td BGCOLOR=".$farol."></td>";
            echo "<td>".$filaAuditoria['REPROVA']."</td>";
            echo "<td><button name='btnAuditar' type='button' data-toggle='modal' data-target='#myModal' onclick='ajaxModal(".$modal.")'>Auditar</button></td>";
        echo "</tr>";
    }
?>

// Fim do arquivo ScriptSQL.php
 

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Cloud Computing


  • Forum Statistics

    • Total Topics
      148681
    • Total Posts
      644509
×
×
  • Create New...