• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Jak wykonać wykres na podstawie danych z bazy danych.

Object Storage Arubacloud
0 głosów
3,160 wizyt
pytanie zadane 22 listopada 2016 w PHP przez Q_Nick Mądrala (5,010 p.)

ma wykonany kod pobierający informacje z bazy danych i sumujący je na podstawie miesięcy. Chciałbym je wstawić do wykresu jaki znalazłem w internecie, ale nie wiem jak je wstawić w miejsce przykładowych liczb z pobranego wykresu. Chciałbym też aby wykres pokazywał mi tylko np. ostatnie 12 miesięcy.

Oto kod pobierający dane:

require_once "config/dbinfo.php";
$connect = mysqli_connect($host, $db_user, $db_password, $db_name);
if(mysqli_connect_errno())
{
	echo "wystopil bald polanczenia z baza";
}
else
{
	
	$wypisz="SELECT SUM(suma) FROM vssaction GROUP BY Month(data)";
		
	$wynik= mysqli_query($connect, $wypisz)
	or die('Błąd zapytania');
	while($r= mysqli_fetch_array($wynik))
	{
		echo $r['SUM(suma)'].'<br>';
	}
}
mysqli_close($connect);

A to przykładowy skrypt tego wykresu pobrany z internetu


    <?php
    include_once(‚./LabChartsLine.php’);
    $LabChartsLine = new LabChartsLine();
    $LabChartsLine->setData(array(27,25,60,31,25,39,25,31,26,28,8,28,27,31,27,29,26,35,70,25));
    echo ‚<img src=”‚.$LabChartsLine->getChart().‚” />’;
    ?>

Jak podstawić pobrane dane w miejsce tych liczb w $LabChartsLine?

Mam jeszcze taki kod w którym są ustawione miesiące



    <?php
    $LabChartsLine->setColors(‚D9351C’);
    $LabChartsLine->setSize(’400×250′);
    $LabChartsLine->setTitle(‚Zyski w poszczególnych miesiącach’);
    $LabChartsLine->setAxis (10, ‚Sty||Mar||Maj||Lip||Wrz||Lis||Sty||Mar||Maj||Lip|’);
    $LabChartsLine->setGrids (10);
    echo ‚<img src=”‚.$LabChartsLine->getChart().‚” />’;
    ?>

Jak go przerobić aby wyświetlał tylko kilka ostatnich miesięcy?

4 odpowiedzi

0 głosów
odpowiedź 22 listopada 2016 przez hoktaur Pasjonat (22,250 p.)
wybrane 24 listopada 2016 przez Q_Nick
 
Najlepsza

Piszę z palca bez spr. ale coś takiego bym widział:

require_once "config/dbinfo.php";
include_once(‚./LabChartsLine.php’);

$connect = mysqli_connect($host, $db_user, $db_password, $db_name);
if(mysqli_connect_errno())
{
    echo "wystopil bald polanczenia z baza";
}
else
{
     
    $wypisz="SELECT SUM(suma) AS Wartosc FROM vssaction GROUP BY Month(data)";
         
    $wynik= mysqli_query($connect, $wypisz)
    or die('Błąd zapytania');
    while($r= mysqli_fetch_array($wynik))
    {
        $zbiorWartosci[] = $r['Wartosc'];
             
    }
}
mysqli_close($connect);

$LabChartsLine = new LabChartsLine();
$LabChartsLine->setData($zbiorWartosci);

echo ‚<img src=”‚.$LabChartsLine->getChart().‚” />’;


 

komentarz 24 listopada 2016 przez Q_Nick Mądrala (5,010 p.)
Piszę w Notepad++, ale on mi nic nie pokazywał o braku klamry
1
komentarz 24 listopada 2016 przez efiku Szeryf (75,160 p.)
Zapoznać sie dobrze z composerem. Później juz tyło czytać oficjalna dokumentacje i patrzeć na projekty na githubie

Pisząc w Symfony szybko zrozumiesz ze nie ma sensu używać do tego vima.

I przesiadziesz sie na storma :>
komentarz 24 listopada 2016 przez hoktaur Pasjonat (22,250 p.)
Nie wiem czy dobrze patrzę ale:

https://www.jetbrains.com/phpstorm/buy/#edition=commercial

nie jestem zawodowy programistą i tylko sobie beztrosko lubię poklepać po klawce, a przy tych cenach zostaje przy VIM'ie (może kiedyś....)
komentarz 24 listopada 2016 przez efiku Szeryf (75,160 p.)
Pominąłeś licencje dla studenta /ucznia którą  można dostać za darmo na rok i na wszystkie produkty. skan legitki lub mail w domenie edu.pl i to ze 30 dni można pracować bez wpisywania żadnej licencji. Taki tam szczegół.

O to współczuję że Ci się chce. Dobra kończę bo były już o stormie tematy na forum :) wystarczy dobrze popatrzeć na ich stronie.
komentarz 24 listopada 2016 przez hoktaur Pasjonat (22,250 p.)
Hmm aż ciężko mi było się powstrzymać, ponieważ ja to mogę chyba być już 'wiecznym studentem' ;), chociaż na naukę ponoć nie jest nigdy za późno....
+2 głosów
odpowiedź 22 listopada 2016 przez mbabane Szeryf (79,280 p.)
edycja 22 listopada 2016 przez mbabane

Co do wstawienia kilku wybranych miesiecy, to jesli jest mozliwosc (w sensie ze zalozenie tego obliczenia na to pozwala, a nie ze baza danych) to pobierz z bazy dane dla tych miesiecy, ktore Cie interesuja, a nie ze wszystkich na raz.

Co do rysowania wykersu to nie pomoge, ale (nie znam na tyle dobrze php zeby byc pewnym) w linijce:

$LabChartsLine->setData(array(27,25,60,31,25,39,25,31,26,28,8,28,27,31,27,29,26,35,70,25));

do metody setData jest podawana tablica wiec byc moze wystarczy utworzc odpowiednia przed wywolaniem jej i podac.

komentarz 22 listopada 2016 przez Q_Nick Mądrala (5,010 p.)
Właśnie sam na tyle php nie znam i nie wiem jak przekształcić odebrane dane w taką tablice.
+1 głos
odpowiedź 22 listopada 2016 przez Kshyhoo Użytkownik (750 p.)
while($r= mysqli_fetch_array($wynik)) {
  $LabChartsLine->setData(array($r["miesiac"]));
}

:)

komentarz 22 listopada 2016 przez efiku Szeryf (75,160 p.)
Ale zdajesz sobie sprawę, że robisz pętle while wokół jednego settera tego samego obiektu, prawda?

:)
0 głosów
odpowiedź 22 listopada 2016 przez Boshi VIP (100,240 p.)
przekonwertuj tablice asocjacyjną na zwykłą i podstaw pod skrypt. Swoją drogą wolałbym skorzystać z chart.js i pobierać dane ajaxem.
komentarz 22 listopada 2016 przez Q_Nick Mądrala (5,010 p.)
Niestety nie znam AJAXa i nie wiem jak przekonwertować tablicę :/
komentarz 24 listopada 2016 przez HaKIM Szeryf (87,590 p.)

Jaki problem się nauczyć?

Nigdzie nie widzę wzmianki o: „W zakresie moich (Nigdzie nie opisanych) umiejętności (Które mogę nie wystarczyć)”. Oczywiście, że nikt nie będzie ograniczał się do poziomu Pana umiejętności, gdyż mogą być na tyle małe, że wyrządzi się jedynie szkodę poprzez złożenie z nich rozwiązania i implementację na produkcję.

 

komentarz 24 listopada 2016 przez Q_Nick Mądrala (5,010 p.)
Prosze nie "pan" bo sie staro czuje :E A tak serio to po prostu na razie uczę się php, a po nauczeniu się na zadowalający mnie poziom prawdopodobnie zajmę się AJAXem, bo widzę że często sie przydaje. Nie jest problemem sie nauczenie, ale czas jest dużym problemem
komentarz 24 listopada 2016 przez HaKIM Szeryf (87,590 p.)
W takim razie powinno tam paść zdanie:

„Na chwilę obecną AJAX jest dla mnie na dalszym planie. Jego nauka mogłaby popsuć mój plan, który wiążę się z kolejnością zadań w PHP”.

Co do: „nie wiem jak przekonwertować tablicę” - Tutaj wymówki nie ma. Czysty PHP i sprawa prosta (Całkiem możliwym jest, że opiera się na jednej funkcji).
komentarz 24 listopada 2016 przez Q_Nick Mądrala (5,010 p.)
Ja wiem, tylko tak jak piszę, cały czas się uczę i dopiero poznaje te funkcje. Tak naprawdę jest to dopiero początek z taką nauką, bo ta wcześniejsza w szole tylko zniechęcała, ale sie przełamałem i zacząłem naukę na własną kieszeń.

Podobne pytania

0 głosów
1 odpowiedź 1,449 wizyt
pytanie zadane 8 maja 2018 w Java przez programkamil Początkujący (270 p.)
0 głosów
1 odpowiedź 3,192 wizyt
pytanie zadane 22 września 2018 w Python przez Beata Nowicjusz (120 p.)
0 głosów
1 odpowiedź 261 wizyt
pytanie zadane 22 listopada 2018 w Android, Swift, Symbian przez Micheall Początkujący (420 p.)

92,556 zapytań

141,403 odpowiedzi

319,559 komentarzy

61,942 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...