Ir para conteúdo
rd111072

[Resolvido] Array dinâmico diferenciado

Recommended Posts

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?
 

Compartilhar este post


Link para o post
Compartilhar em outros sites

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}

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

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?

Compartilhar este post


Link para o post
Compartilhar em outros sites
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?

Compartilhar este post


Link para o post
Compartilhar em outros sites
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...

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

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);


 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
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:

 

tabela.usuarios_consumo.png

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por gfontan1910
      Olá boa tarde. Preciso de uma ajuda na criação de um mapa do Brasil de forma dinâmica de modo que seja possível clicar nos estados. Assim que selecionado um estado, preciso exibir algumas informações deste determinado estado. O mapa seria algo parecido com esse da home do Olx (https://olx.com.br).
       
      Alguém pode ajudar com algum material voltado para este tipo de desenvolvimento?
       
       
      Obs: tem um tópico sobre isso no fórum, porém de 2015 e muitos links que foram recomendados estão off atualmente
    • Por gfontan1910
      Olá boa tarde. Preciso de uma ajuda na criação de um mapa do Brasil de forma dinâmica de modo que seja possível clicar nos estados. Assim que selecionado um estado, preciso exibir algumas informações deste determinado estado. O mapa seria algo parecido com esse da home do Olx (https://olx.com.br).
       
      Alguém pode ajudar com algum material voltado para este tipo de desenvolvimento?
       
       
      Obs: tem um tópico sobre isso no fórum, porém de 2015 e muitos links que foram recomendados estão off atualmente
    • Por darkskull10
      Numa cidade as crianças costumam brincar com um jogo (de dois jogadores) onde:
      um jogador A define uma sequência de 10 letras usando: G, R e B (exemplo: G – G – G – R – B – R – B – B – B – R)
      um jogador B pode ler a sequência quantas vezes quiser
      o jogador B também pode dizer uma das letras e obter em quais posições a letra dada se encontra na sequência
      o jogador B também pode dar uma posição e saber qual letra ocupa a posição na sequência
      para finalizar, o jogador B deve dizer a sequência de letras, obtendo um ponto para cada acerto.
       
      Só consegui pensar nisso por enquanto.
       
      //identificar que letra ocupa esta posição na sequência:
      do{
      scanf(“%d”,&Posicao);
      Posicao=Posicao-1;}
      while ((Posicao<0)||(Posicao>9));
      printf(“%c”,Sequencia[Posicao]);
       
      //exibir sequencia
      for (Cont=0; Cont<=9; Cont++)
      printf(“%c”,Sequencia[Cont]);
       
      //exibir posições
      for (Cont=0; Cont<=9; Cont++)
      printf(“%d%c”,Cont+1,Sequencia[Cont]);
    • Por paulo.e.monteiro2015
      Boa noite,
       
      Possuo o seguinte array
      Array ( [0] => Array ( [0] => 564 [IdPergunta] => 564 [1] => 66 [IdQuiz] => 66 [2] => A EMS é líder no mercado farmacêutico há quantos anos? [DescricaoPergunta] => A EMS é líder no mercado farmacêutico há quantos anos? [3] => 1 [NumeroPergunta] => 1 ) [1] => Array ( [0] => 565 [IdPergunta] => 565 [1] => 66 [IdQuiz] => 66 [2] => A cada 100 medicamentos vendidos no Brasil 13 são de qual laboratório? [DescricaoPergunta] => A cada 100 medicamentos vendidos no Brasil 13 são de qual laboratório? [3] => 2 [NumeroPergunta] => 2 ) [2] => Array ( [0] => 566 [IdPergunta] => 566 [1] => 66 [IdQuiz] => 66 [2] => Qual medicamento controlado e lançamento dos Genéricos EMS é indicado para alívio de dores e possui formato de fácil deglutição? [DescricaoPergunta] => Qual medicamento controlado e lançamento dos Genéricos EMS é indicado para alívio de dores e possui formato de fácil deglutição? [3] => 3 [NumeroPergunta] => 3 ) [3] => Array ( [0] => 567 [IdPergunta] => 567 [1] => 66 [IdQuiz] => 66 [2] => Os Genéricos EMS possuem o maior portfólio do Brasil, com 195 moléculas, que atendem 96% das classes terapêuticas. Qual o número total de apresentações? [DescricaoPergunta] => Os Genéricos EMS possuem o maior portfólio do Brasil, com 195 moléculas, que atendem 96% das classes terapêuticas. Qual o número total de apresentações? [3] => 4 [NumeroPergunta] => 4 ) [4] => Array ( [0] => 568 [IdPergunta] => 568 [1] => 66 [IdQuiz] => 66 [2] => A EMS possui quantos anos de história? [DescricaoPergunta] => A EMS possui quantos anos de história? [3] => 5 [NumeroPergunta] => 5 ) [5] => Array ( [0] => 569 [IdPergunta] => 569 [1] => 66 [IdQuiz] => 66 [2] => Qual lançamento Genéricos EMS é o primeiro genérico do mercado indicado para o tratamento do Transtorno do Déficit de Atenção e Hiperatividade? [DescricaoPergunta] => Qual lançamento Genéricos EMS é o primeiro genérico do mercado indicado para o tratamento do Transtorno do Déficit de Atenção e Hiperatividade? [3] => 6 [NumeroPergunta] => 6 ) ) Preciso criar uma navegação item a item deste, para que possa dar a opção do usuário responder ao Quiz.
      Preciso muito desta ajuda pois tenho muita urgência em resolver isso. É só isso que falta para terminar o Quiz.
       
      Att.
    • Por markhosbh
      Prezados, boa tarde!
       
      Estou tendo dificuldades para transformar um retorno WebService em uma tabela HTML.
      A minha dificuldade está na seguinte condição, se fosse cabeçalho fixo bastava eu utilizar o foreach para percorrer o array e estava ok.
      Porém, a quantidade de campos do array de retorno não é fixo, aí que se encontra minha dificuldade, como fazer para ler e imprimir o cabeçalho e o conteúdo da tabela, sendo que essas informações podem variar.
       
      Exemplo:
       
      Requisição: 
      SELECT A1_COD, A1_NOME, TIPO FROM USUARIO  
      Retorno:
      [ {"A1_COD":"0093","A1_NOME":"JOAO","TIPO":"TITULAR"}, {"A1_COD":"0016","A1_NOME":"ABELARDO","TIPO":"TITULAR"}, {"A1_COD":"8586","A1_NOME":"ADRIANA","TIPO":"TITULAR"} ]  
      Array:
      Array ( [0] => Array ( [A1_COD] => 0093 [A1_NOME] => JOAO [TIPO] => TITULAR ) [1] => Array ( [A1_COD] => 0016 [A1_NOME] => ABELARDO [TIPO] => TITULAR ) [2] => Array ( [A1_COD] => 8586 [A1_NOME] => ADRIANA [TIPO] => TITULAR ) ) Quero que seja impresso em uma tabela html
       
      A1_COD A1_NOME TIPO 0093 JOAO TITULAR 0016 ABELARDO TITULAR 8586 ADRIANA TITULAR  
      Mas como informado o cabeçalho poderia variar, sendo a requisição por exemplo ser:
       
      SELECT * FROM USUARIO  
      Desde então agradeço.
×

Informação importante

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