Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

jogar o resultado de uma soma numa array por ID

Tenho uma select que traz todos os usuários de uma tabela e joga numa array e a cada usuario, pesquisa a soma das metas de uma outra tabela. Na hora demostrar o resultado determinados usuarios ficam com a meta pela metadade.

Algorítimo de consulta e alimentação da array:

    while($rowuserat = mysqli_fetch_array($resultuserat)) {
        $idNomeat[$iat] = $rowuserat['usuid'];
        $Nomeat[$iat] = $rowuserat['usunome'];


            // Execute a query para verificar os realizados
            $strQueryat = "SELECT COUNT(ObsId) As Realizado FROM dinObservacao
                           WHERE ObsMes='".$_POST['mes']."' and ObsSemana LIKE '%".$_POST['semana']."' and ObsIdObservador=".$idNomeat[$iat]." ";
            $resultat = $dbhandle->query($strQueryat) or exit("Error code ({$dbhandle->errno}): {$dbhandle->error}");
            while($rowat = mysqli_fetch_array($resultat)) {
                $qtdrealat[$iat] = $rowat['Realizado'];
            }

            // Execute a query para verificar as metas
            $strQuerymtat = "SELECT SUM(MetQtd) As Meta FROM dinMetaObs
                            WHERE MetMes='".$_POST['mes']."' and MetSemana LIKE '%".$_POST['semana']."' and MetCodObservador=".$idNome[$iat]." ";
            $resultmtat = $dbhandle->query($strQuerymtat) or exit("Error code ({$dbhandle->errno}): {$dbhandle->error}");
            while($rowmtat = mysqli_fetch_array($resultmtat)) {
                $qtdMetaat[$iat] = $rowmtat['Meta'];
            }

        $iat = $iat +1;

    }

Algorítimo que monta a array em um gráfico:

            "categories": [
                {
                    "category": [
                <?php 
                    $kat = count($idNomeat);
                        for ($iat = 0; $iat<$kat; $iat++) {
                ?>
                    {"label": "<?php echo utf8_encode($Nomeat[$iat]) ?>", "stepSkipped": true, "appliedSmartLabel": true },

                <?php } ?>        

            ]
                }
            ],            
            "dataset": [
                {
                    "seriesname": "Meta",
                    "data": [
                    <?php 
                        $kat = count($idNomeat);
                        for ($iat = 0; $iat<$kat; $iat++) {
                    ?>
                        {"value": "<?php echo utf8_encode($qtdMetaat[$iat]) ?>" },

                    <?php } ?>    
                    ]
                }, 
                {
                    "seriesname": "Realizado",
                    "data": [
                    <?php 
                        $kat = count($idNomeat);
                        for ($iat = 0; $iat<$kat; $iat++) {
                    ?>
                        {"value": "<?php echo utf8_encode($qtdrealat[$iat]) ?>" },

                    <?php } ?>    
2 respostas
solução!

Oi Yago,

Na sua consulta que faz o SUM da meta, vi que tem esse filtro aqui:

and MetCodObservador = " .$idNome[$iat] ." ";

Mas acho que a variável deveria ser $idNomeat[$iat] e não $idNome[$iat]

Veja se não é esse o problema.

E isso msmo, muito obrigado amigo... De tanto ficar olhando o msmo código acabamos "cegando" kkk