Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Ankieta + wykres
amatour
post
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 26.10.2009

Ostrzeżenie: (0%)
-----


Witam, mam taki oto problem:

Ankieta (5 możliwości wyboru w formularzu) ma pobierać z pliku informację o ilości oddanych głosów na poszczególne opcję, zwiększać ją o 1 i zapisać do pliku "glosy.txt". Po tym ma się uruchomić plik "wykres.php" który narysuje wykres na podstawie informacji z wyżej wymienionego pliku txt. Na początek ilość głosów ma odpowiadać długości słupka wykresu. I do tego miejsca myślę, że raczej sobie poradzę. Problem zaczyna się przy modyfikacji tego wykresu - wykres ma rysować słupki w proporcjach (tzn. żeby nie było opcji, że słupek rośnie tak mocno, że poszerza okno itp.), procentowo. Pomożecie? ;d
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
amatour
post
Post #2





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 26.10.2009

Ostrzeżenie: (0%)
-----


hmmm owszem pomogło mi to w określeniu proporcji itd. Tyle, że teraz niestety mam problem z samym narysowaniem wykresu... co bym nie robił to zawsze pojawia się tylko jeden słupek. Oto co udało mi się wypocić na ten temat (dodam tylko, że muszę to zrobić za pomocą właśnie takich komend jakie widnieją na dole, nie mam dołączać żadnych bibliotek wykresów itp.):

  1. <?php
  2.  
  3. $plik = file("glosy.txt");
  4. $tab = explode(":",$plik[0]);
  5.  
  6. for ($i=1; $i<=3; $i++) {
  7. $glos[$i] = $tab[$i-1];
  8. }
  9.  
  10.  
  11. $suma_glosow = 0;
  12. for ($i=1; $i<=3; $i++) {
  13. $suma_glosow = $suma_glosow + $glos[$i];
  14. }
  15.  
  16.  
  17. for ($i=1; $i<=3; $i++) {
  18. $dlugosc[$i] = round($glos[$i]/$suma_glosow*100);
  19. }
  20.  
  21.  
  22. $szerokosc_wykresu = 300;
  23. for ($i=1; $i<=3; $i++) {
  24. $dlugosc[$i] = $dlugosc[$i]/100*$szerokosc_wykresu;
  25. }
  26.  
  27. $wysokosc = 10;
  28.  
  29. for ($i=1; $i<=3; $i++) {
  30. $graph = ImageCreate($dlugosc[$i], $wysokosc);
  31. $czarny = ImageColorAllocate($graph,0,0,0);
  32. $bialy = ImageColorAllocate($graph,255,255,255);
  33. ImageFill($graph,0,0,$czarny);
  34. Header("Content-type: image/png");
  35. ImagePng($graph);
  36. ImageDestroy($graph);
  37. }
  38.  
  39. ?>
  40.  
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 5.10.2025 - 16:03