Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá, Rapaziada! Peço a ajuda de vocês!
Seguinte, como monto um array exatamente no formato abaixo, mas com dados dinâmicos, vindos do BD?
var day_data = [
{"period": "2017-02-01", "1": 28.5, "2": 0, "3": 0},
{"period": "2017-02-15", "1": 23.2, "2": 0, "3": 27.0},
{"period": "2017-02-04", "1": 0, "2": 29.0, "3": 27.0}
];
Os dados dinâmicos vão entrar depois dos dois pontos, em cada linha. Cda linha é uma data. As data s serão datas DISTINCT vindas do BD.
1,2 e 3 serão ids de usuários. Mas poderá ter até 1000 usuários, por exemplo.
É pra popular um gráfico de linhas múltiplas.
Quem sabe como fazer?O array ficaria estruturado dessa maneira:
$day_data = array(
array(
'periodo' => '2017-02-01',
'usuarios' => array(
1 => 28.5,
2 => 0,
3 => 0
)
)
);
Como fazer esse array com os dados dinâmicos do banco de dados eu teria que ver suas consultas ao banco.
Está pegando todos esses dados apenas uma consulta?>
7 minutos atrás, Luciano Carvalho disse:
O array ficaria estruturado dessa maneira:
$day_data = array(
array(
'periodo' => '2017-02-01',
'usuarios' => array(
1 => 28.5,
2 => 0,
3 => 0
)
)
);
Como fazer esse array com os dados dinâmicos do banco de dados eu teria que ver suas consultas ao banco.
Está pegando todos esses dados apenas uma consulta?
Pois é. Ainda vou fazer o select. Tem alguma sugestão?>
12 minutos atrás, Alaerte Gabriel disse:
Fala camarada, boa noite.
Você tem duas opções:
1 - Fazer o select nos dados e retornar o array JSON neste formato.
2 - Você pode preencher essas linhas direto na página colocando num laço loop que traz os dado.
O array no php seria montado da seguinte forma:
$arr = array('period'=>'2017-02-01','1'=>28.5,'2'=>0,'3'=>0);
echo json_encode($arr);
//SAÍDA
//{"period": "2017-02-01", "1": 28.5, "2": 0, "3": 0}
Pois é, me falta saber como fazer o select, pois a estrutura do Banco não é essa. Tem a coluna do id do usuário, das datas, e dos valores decimais, em cada registro...
Tem como postar um print de como está o banco hoje?
Colunas, linhas, etc?
Então, exatamente, você terá que montar. Independente de como esteja sua estrutura, se ela possui esses dados, então está tudo bem.
no seu select, se eu entendi bem, (suponho que esteja utilizando PDO) você faria algo como:
$a = $pdo->query("SELECT * FROM usuarios");
$arr=array();
while($ver = $a->fetch(PDO::FETCH_ASSOC)){
$arr['periodo'] = $ver['campo_data'];
$arr[$ver['campo_id_usuario']] = 0; //Aqui você colocaria o nome da coluna responsável por atribuir o valor
}
echo json_encode($arr);>
10 horas atrás, Luciano Carvalho disse:
Tem como postar um print de como está o banco hoje?
Colunas, linhas, etc?
Segue o print com a estrutura da table usuarios_consumo:

Alaerte, consegui!
Agradeço a todos, pela ajuda! Abraço!
Fala camarada, boa noite.
Você tem duas opções:
//SAÍDA
//{"period": "2017-02-01", "1": 28.5, "2": 0, "3": 0}