Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 117
Nome: Igor
Sexo: Masculino
Localização: Goiânia

PHPLot

20-07-2012 15:31

Web, vocÊ já mexeu com o phplot? Estou tentando, mas novamente meu problema está no array. Penso que agora é mais fácil, pois é uma linguagem só, então...

Segue o código:
<?php if (isset ($_POST["botao"])) { if(empty($_POST["data"]) && empty($_POST["data3"]) ){ echo "<script> alert('Por favor, digite um perído'); document.location.href='../visao/grafico.html'</script>;"; } //primeira data digitada $data = $_POST["data"]; $data_ins = explode('/', $data); list ($dia1, $mes, $ano) = $data_ins; $data2 = "$ano-$mes-$dia1"; //segunda data digitada $data3 = $_POST["data3"]; $data_ins3 = explode('/', $data3); list ($dia, $mes, $ano) = $data_ins3; $data4 = "$ano-$mes-$dia"; //diferenca entre datas $dia1 = (int)$dia1; $dia = (int)$dia; $diaAux = (int)""; while($dia1 <= $dia){ $diaAux .= $dia1++."|"; } $diaAux = explode("|", $diaAux); $diaAux2 = array_pop($diaAux); $diaJS = implode("|", $diaAux); //colocando nome no mes switch ($mes) { case 01: $mes = "Janeiro"; break; case 02: $mes = "Fevereiro"; break; case 03: $mes = "Março"; break; case 04: $mes = "Abril"; break; case 05: $mes = "Maio"; break; case 06: $mes = "Junho"; break; case 07: $mes = "Julho"; break; case 08: $mes = "Agosto"; break; case 09: $mes = "Setembro"; break; case 10: $mes = "Outubro"; break; case 11: $mes = "Novembro"; break; case 12: $mes = "Dezembro"; break; } //conectando com o db require_once("../dao/con_gra.php"); //verificando a conculta if (isset ($consulta) && $consulta == true) { $fatdia=""; $produ =""; //preenchendo os campos com faturamento do dia e producao respectivamente while($linha_gra = mysql_fetch_array($query_gra)){ $fatdia .= $linha_gra["FP_FATDIA"]."|"; $produ .= $linha_gra["FP_PRODU"]."|"; } //preparando a variável producao $produ = explode("|", $produ); $produAux = array_pop($produ); $produJS = implode("|", $produ); //preparando a variavel de faturamento $fatdia = explode("|", $fatdia); $fatdiaAux = array_pop($fatdia); $fatdiaJS = implode("|", $fatdia); //juntando dia e mes para formar a legenda do array $i=0; for($i == $dia1; $i <count($diaAux); $i++) { $string[$i] = $diaAux[$i]."-".$mes; } foreach($string AS $n) { !is_int($n) ? $nova[] = "'$n'" : $nova[] = $n; } $stringJS = implode("|", $nova); $stringJS = explode("|", $stringJS); } } // requisição da classe PHPlot include_once ('contrib/phplot.php'); $data = array(); $a=0; for($a=0; $a<count($stringJS); $a++){ $data[$a] = $stringJS[$a].", ".$fatdia[$a].", ".$produ[$a]; } # Cria um novo objeto do tipo PHPlot com 500px de largura x 350px de altura $plot = new PHPlot(700 , 550); // Organiza Gráfico ----------------------------- $plot->SetTitle('Faturamento/Produção'); # Precisão de uma casa decimal $plot->SetPrecisionY(1); # tipo de Gráfico em barras (poderia ser linepoints por exemplo) $plot->SetPlotType("bars"); # Tipo de dados que preencherão o Gráfico text(label dos anos) e data (valores de porcentagem) $plot->SetDataType("text-data"); # Adiciona ao gráfico os valores do array $plot->SetDataValues($data); // ----------------------------------------------- // Organiza eixo X ------------------------------ # Seta os traços (grid) do eixo X para invisível $plot->SetXTickPos('none'); # Texto abaixo do eixo X $plot->SetXLabel("Faturamento/Produção"); # Tamanho da fonte que varia de 1-5 $plot->SetXLabelFontSize(2); $plot->SetAxisFontSize(2); // ----------------------------------------------- // Organiza eixo Y ------------------------------- # Coloca nos pontos os valores de Y $plot->SetYDataLabelPos('plotin'); $plot->SetPlotAreaWorld(NULL, 2, NULL, 15); // ----------------------------------------------- // Desenha o Gráfico ----------------------------- $plot->DrawGraph(); // ----------------------------------------------- ?>

MOVIDO PARA SEÇÃO PHP
0
Bons tempos quando os homens eram homens e escreviam seus próprios "device drivers".
Linus Torvalds
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17513
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

PHPLot

20-07-2012 15:35

Não costumo usar arquivos que geram gráficos. Mas trabalhando só em PHP acho que vai ser mais fácil.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 117
Nome: Igor
Sexo: Masculino
Localização: Goiânia

PHPLot

21-07-2012 07:57

Cara, voce viu algo de errado no $data??? Ele está falando a mesma coisa que falava quando era o array do Java Script, que o array está em formato incorreto...
0
Bons tempos quando os homens eram homens e escreviam seus próprios "device drivers".
Linus Torvalds
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 117
Nome: Igor
Sexo: Masculino
Localização: Goiânia

PHPLot

21-07-2012 09:05

Seguinte, como fazer isso:

Array ( [0] => '03-Julho', 24.45, 122.00 [1] => '4-Julho', 24.00, 122.00 [2] => '5-Julho', 75.46, 70.00 [3] => '6-Julho', 75.36, 135.00 )


se tornar nisso:

Array ( [0] => Array ( [0] => 03-Julho [1] => 24.45 [2] => 122 ) [1] => Array ( [0] => 4-Julho [1] => 24 [2] => 122 ) [2] => Array ( [0] => 5-Julho [1] => 75.46 [2] => 70 ) [3] => Array ( [0] => 6-Julho [1] => 75.36 [2] => 135 ) )


Conseguindo deixar o primeiro igual ao segundo (dinamicamente, pois não sei quantos campos virão da tabela), tenho o gráfico pronto...
0
Bons tempos quando os homens eram homens e escreviam seus próprios "device drivers".
Linus Torvalds
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17513
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

PHPLot

21-07-2012 10:11

Não entendi a forma que usou para criar esse array.
Se quiser dá uma olhada nesse link com as formas de array usada o PHPLot http://www.jeo.net/php/phplot/doc/quickstart.html
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 117
Nome: Igor
Sexo: Masculino
Localização: Goiânia

PHPLot

21-07-2012 10:34

Seguinte, o primeiro foi que eu gerei, o segundo é a forma que o PHPLot coloca como exemplo... entendeu?
Ai achei uma função chamada array_chunk (http://www.php.net/manual/pt_BR/functio ... -chunk.php) que me ajudou a colocar o array da forma que eu quero, porém ele ainda não me imprime o gráfico...

Estou fazendo os testes e posto o resultado...
0
Bons tempos quando os homens eram homens e escreviam seus próprios "device drivers".
Linus Torvalds
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17513
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

PHPLot

21-07-2012 10:36

Blz.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 117
Nome: Igor
Sexo: Masculino
Localização: Goiânia

PHPLot

21-07-2012 11:29

Bom, como disse consegui colocar o array da forma que queria, porém ele não imprime o gráfico... Contudo, se eu comentar a linha que tem a função o gráfico é imprimido, então se houver alguma alternativa de colocar o array1 igual ao array2 de uma forma dinamica estou disposto a fazer os testes... minha cabeça está um pocuo fundida .. uahsuahsuhauhsu'...

seguem os arrays:

Array1:

Array ( [0] => 03-Julho, 24.45, 122.00
[1] => 4-Julho, 24.00, 122.00
[2] => 5-Julho, 75.46, 70.00
[3] => 6-Julho, 75.36, 135.00 )

Array2:
Array ( [0] => Array ( [0] => 03-Julho [1] => 24.45 [2] => 122 )
[1] => Array ( [0] => 4-Julho [1] => 24 [2] => 122 )
[2] => Array ( [0] => 5-Julho [1] => 75.46 [2] => 70 )
[3] => Array ( [0] => 6-Julho [1] => 75.36 [2] => 135 ) )
0
Bons tempos quando os homens eram homens e escreviam seus próprios "device drivers".
Linus Torvalds
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17513
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

PHPLot

21-07-2012 12:33

Qual versão do PHPLot está usando e qual exemplo?
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 117
Nome: Igor
Sexo: Masculino
Localização: Goiânia

PHPLot

23-07-2012 07:57

CAra, to usando a versão 5.7 ... de exemplo estou utilizando o que vem padrão, escrtio "getGraph", vem zipado junto com o phplot...
0
Bons tempos quando os homens eram homens e escreviam seus próprios "device drivers".
Linus Torvalds
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 117
Nome: Igor
Sexo: Masculino
Localização: Goiânia

PHPLot

23-07-2012 09:03

Cara, to precisando de saber como substituir a função array_chunk, pois sempre que coloco ela na página que desenhará o gráfico, o gráfico não sai... Então, se souber como fazer, seria de muita ajuda... xD
0
Bons tempos quando os homens eram homens e escreviam seus próprios "device drivers".
Linus Torvalds
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17513
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

PHPLot

23-07-2012 10:05

Igual o array_chunk não conheço, mas tem uma boa referência de uso nesse link
http://www.w3resource.com/php/function- ... _chunk.php

Aqui eu baixei a versão 5.8.0 do PHPLot, não tem esse exemplo. Ia ver se tem outra forma melhor de gerar o array para o gráfico.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 117
Nome: Igor
Sexo: Masculino
Localização: Goiânia

PHPLot

23-07-2012 13:59

Sabe o "Pictorial Presentation :", tenho que fazer daquela maneira mesmo, só que quando habilito ele, meu gráfico trava, não sei o porque... já peguei os dois, coloquei em uma janela separada, dei um print_r() e vi que os dois são iguais, sem tirar nem por nada... Só que a :swear: do gráfico não sai...
0
Bons tempos quando os homens eram homens e escreviam seus próprios "device drivers".
Linus Torvalds
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 117
Nome: Igor
Sexo: Masculino
Localização: Goiânia

PHPLot

23-07-2012 14:04

AAAAAA, outra coisa, no caso como seria passar um array que recebe array_chunk($arr1, 3) para o Java Script ... Você teria uma idéia?!?!?! :geek:
0
Bons tempos quando os homens eram homens e escreviam seus próprios "device drivers".
Linus Torvalds
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17513
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

PHPLot

23-07-2012 14:22

Você pode pegar algumas referências, no link que postei acima, e no site do PHP, sempre tem exemplos de uso.
http://php.net/manual/pt_BR/function.array-chunk.php
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 117
Nome: Igor
Sexo: Masculino
Localização: Goiânia

PHPLot

25-07-2012 11:00

Quando eu uso o array_chunk ele, não sei porque, quebra minha imagem... ai quando comento a linha onde está o array_chunk a imagem sai normal...
0
Bons tempos quando os homens eram homens e escreviam seus próprios "device drivers".
Linus Torvalds
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17513
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

PHPLot

25-07-2012 11:10

Provavelmente a saída do array depois do array_chunk não está compatível com o gráfico. Acho que só estudando o código, ou procurando outro código de gráfico que fique melhor compatível com seus dados.
0
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado