Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [gd]wykres, na localhoscie działa a na serwerze nie
Lejto
post 2.03.2008, 10:53:56
Post #1





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 48
Dołączył: 23.05.2007

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


Mam kod który pobiera dane i wyświetla je na wykresie na localhoscie działa a jak wrzucę go na moja stronę to już nie pokazuję się: Obrazek "URL" nie może zostać wyświetlony ponieważ zawiera błędy.
To nie jest mój pierwszy wykres mam tez inne i działają ale jak w niech zmienię wysokosc_slupka z 40 na 20 to tez wywala ten błąd blinksmiley.gif
Kod:
  1. <?php
  2.  /**
  3.  * @author Łukasz.agencik@gmail.com
  4.  * @copyright 2008
  5.  */
  6.  
  7. $zapytanie = 'select * from sonda';
  8. $wynik = mysql_query($zapytanie) or die ("Blad");
  9.  
  10. $pole = mysql_num_rows($wynik) or die("Blad");
  11.  
  12. //obliczanie calkowitej ilosci glosw
  13. $ilosc_glosow = 0;
  14.  
  15. while ($rzad = mysql_fetch_object($wynik))
  16. {
  17.  
  18. $ilosc_glosow += $rzad->glosow;
  19. }
  20.  
  21. mysql_data_seek($wynik, 0); // wyzerowanie wskaznika wyniku
  22.  
  23. /*****************************
  24. Poczatkowe obliczanie wykresu
  25. *****************************/
  26.  
  27. //ustawienia stalych
  28.  
  29. putenv('GDFONTPATH=Fonty/'); // poprawna ścieżka 
  30. $szerokosc = 500; //szerokosc obrazka w pikselach - ta zmiesci sie w rozdzielczkosci
  31. $lewy_margines = 50; //miejsce pozostawione po lewej stronie obrazka
  32. $prawy_margines = 50; // to stamo dla prawej
  33. $wysokosc_slupka = 20;
  34. $odleglosc_slupkow = $wysokosc_slupka/2;
  35. $czcionka = 'arial';
  36. $rozmiar_tytulu = 16; //w stopniach
  37. $rozmiar_podstawowy = 10; //w stopniach
  38. $rozmiar_maly = 10; //w stopniach
  39. $wciecie_tekstu = 10; //odleglosc lewych etykiet tekstowych od lewej krawedzi obrazka
  40.  
  41.  
  42. //ustawienie poczatkowego punktu rysowania
  43. $x = $lewy_margines+70; //miejsce rysowania bazy wykresu
  44. $y = 50; //to samo
  45. $jednostka_slupka = ($szerokosc-($x+$prawy_margines))/100; //jeden "stopien" wykresu
  46.  
  47. //obliczanie wysokosci wykresu - slupki plus przerwy plus pewien margines
  48. $wysokosc = $pole*($wysokosc_slupka+$odleglosc_slupkow)+50;
  49.  
  50.  
  51. /****************************************
  52. Konfiguracja podstawowego obrazka
  53. ****************************************/
  54.  
  55. //stworzenie pustgo kadru
  56.  
  57. $ob=imagecreateTrueColor($szerokosc, $wysokosc);
  58.  
  59. // Przydzielenie kolorw
  60. $bialy=ImageColorAllocate($ob,255,255,255);
  61. $czerwony=ImageColorAllocate($ob,255,0,0);
  62. $czarny=ImageColorAllocate($ob,0,0,0);
  63. $niebieski=ImageColorAllocate($ob,0,64,128);
  64.  
  65. $kolor_tekstu=$czarny;
  66. $kolor_procentow=$czarny;
  67. $kolor_tla=$bialy;
  68. $kolor_linii=$czarny;
  69. $kolor_slupka=$czerwony;
  70. $kolor_liczb=$niebieski;
  71.  
  72. //stworzenie "kadru" do rysowania
  73.  
  74. ImageFilledRectangle($ob,0,0,$szerokosc-1,$wysokosc-1,$kolor_tla);
  75.  
  76. //narysowanie kontuwrw wokl kadru
  77. ImageRectangle($ob,0,0,$szerokosc-1,$wysokosc-1,$kolor_linii);
  78.  
  79. //dodanie tytulu
  80.  
  81. $tytul = 'Wyniki głosowania';
  82. $wymiary_tytulu = imagettfbbox($rozmiar_tytulu, 0, $czcionka, $tytul);
  83. $dlugosc_tytulu = $wymiary_tytulu[2]-$wymiary_tytulu[0];
  84. $wysokosc_tytulu = abs($wymiary_tytulu[7]-$wymiary_tytulu[1]);
  85. $tytul_nad_linia = abs($wymiary_tytulu[7]);
  86. $tytul_x = ($szerokosc-$dlugosc_tytulu)/2; //wysrodkowanie w x 
  87. $tytul_y = ($y-$wysokosc_tytulu)/2+$tytul_nad_linia; //wysrodkowanie w y
  88. ImageTTFText($ob, $rozmiar_tytulu, 0, $tytul_x, $tytul_y, $kolor_tekstu, $czcionka, $tytul);
  89.  
  90. // narysowanie bazy od nieco ponad pozycja pierwszego slupka do nieco ponizej pozy
    cji ostatniego
  91.  
  92. ImageLine($ob, $x, $y-5, $x, $wysokosc-15, $kolor_linii);
  93.  
  94. /*******************************
  95. Umieszczanie danych na wykresrie
  96. ********************************/ 
  97.  
  98. // pobranie kazdej lini bazy danych i naryowanie odpowiednich slupkw
  99.  
  100. while ($rzad = mysql_fetch_object($wynik))
  101. {
  102. if($ilosc_glosow > 0)
  103.  $procent = intval(round(($rzad->glosow/$ilosc_glosow)*100));
  104. else
  105.  $procent = 0;
  106.  
  107.  
  108. // wyswietlanie procentw dla tej wartosci
  109.  
  110. $wymiary_procentow = imagettfbbox($rozmiar_podstawowy, 0, $czcionka, $procent. '%');
  111. $dlugosc_procentow = $wymiary_procentow[2]-$wymiary_procentow[0];
  112. imagettftext($ob, $rozmiar_podstawowy, 0, $szerokosc-$dlugosc_procentow-$wciecie_tekstu, $y+($wysokosc_slupka/2), $kolor_procentow, $czcionka, $procent. '%');
  113.  
  114. //dlugosc slupka dla tej wartosci
  115.  
  116. $dlugosc_slupka = $x+($procent*$jednostka_slupka);
  117.  
  118. //narysowanie slupka dla tej wartosci
  119.  
  120. ImageFilledRectangle($ob, $x, $y-2, $dlugosc_slupka, $y+$wysokosc_slupka, $kolor_slupka);
  121.  
  122. //narysowanie tytulu dla tej wartosci
  123. ImageTTFText($ob, $rozmiar_podstawowy, 0, $wciecie_tekstu, $y+($wysokosc_slupka/2), $kolor_tekstu, $czcionka, "$rzad->pole");
  124.  
  125. //narysowanie konturu pokazujacego 100%
  126.  
  127. ImageRectangle($ob, $dlugosc_slupka+1, $y-2, ($x+(100*$jednostka_slupka)), $y+$wysokosc_slupka, $kolor_linii);
  128.  
  129. //wyswietlanie liczb
  130.  
  131. ImageTTFText($ob, $rozmiar_maly, 0, $x+(100*$jednostka_slupka)-50, $y+($wysokosc_slupka/2), $kolor_liczb, $czcionka, $rzad->glosow. '/'.$ilosc_glosow);
  132.  
  133. // przesuniecie nastepnego slupka
  134.  
  135. $y = $y+($wysokosc_slupka+$odleglosc_slupkow);
  136.  
  137. }
  138.  
  139. /******************************************
  140. Wyswitlanie obrazka!
  141. ******************************************/
  142.  
  143. Header('Content-type: image/png');
  144. ImagePNG($ob);
  145.  
  146. /******************************************
  147. Zwalnianie zasobw
  148. ******************************************/
  149.  
  150. imagedestroy($ob);
  151.  
  152. ?>

można jakiś stłumić ten błąd?


--------------------
Go to the top of the page
+Quote Post
beton
post 2.03.2008, 10:55:55
Post #2





Grupa: Zarejestrowani
Postów: 13
Pomógł: 2
Dołączył: 5.11.2003
Skąd: Tarnowskie Góry

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


Jeżeli to jest błąd typu warning, lub inny nie wysypujący skryptu wystarczy error_reporting(0); na początek skryptu wrzucić, jeżeli fatal to trzeba poprawic skrypt (zobaczyc w żródło co powoduje bład).


--------------------
Impossible is nothing.
php is for idiots, i'm using php version 5
Go to the top of the page
+Quote Post
Lejto
post 2.03.2008, 11:01:51
Post #3





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 48
Dołączył: 23.05.2007

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


error_reporting(0); nie nie dało to nie jest błąd typu warning tylko normalnie pokazuje się Obrazek "URL" nie może zostać wyświetlony ponieważ zawiera błędy


--------------------
Go to the top of the page
+Quote Post
bim2
post 2.03.2008, 12:47:27
Post #4





Grupa: Zarejestrowani
Postów: 1 873
Pomógł: 152
Dołączył: 9.04.2006
Skąd: Berlin

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


weź podgląd źródła strony i pokaż nam jakie błędy wywaliło.


--------------------
Go to the top of the page
+Quote Post
Lejto
post 2.03.2008, 19:46:04
Post #5





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 48
Dołączył: 23.05.2007

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


źródło strony to czysty obrazek png bez żadnych błędów php nie wkleiłem go bo jest za duże


--------------------
Go to the top of the page
+Quote Post
l0ud
post 2.03.2008, 20:21:38
Post #6





Grupa: Zarejestrowani
Postów: 1 387
Pomógł: 273
Dołączył: 18.02.2008

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


Cytat
źródło strony to czysty obrazek png bez żadnych błędów php nie wkleiłem go bo jest za duże


Jesteś pewien? Najlepiej zakomentuj tymczasowo wysyłanie nagłówka i zobacz, czy faktycznie nie wyświetlają się jakieś błędy.


--------------------
XMPP: l0ud@chrome.pl
Go to the top of the page
+Quote Post
Lejto
post 3.03.2008, 18:23:33
Post #7





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 48
Dołączył: 23.05.2007

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


Cytat(l0ud @ 2.03.2008, 20:21:38 ) *
Najlepiej zakomentuj tymczasowo wysyłanie nagłówka.

Możesz dokładniej?


--------------------
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 18.06.2025 - 14:49