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 } ?>