Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> wykresy w PHPLOT dzialaja ale nie do końca, przekazywanie danych - tablice
krzyszbi
post 19.01.2006, 13:20:23
Post #1





Grupa: Zarejestrowani
Postów: 251
Pomógł: 13
Dołączył: 15.09.2005

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


witam wszystkich

zachciało sie przez php ronic wykresy wiec poszukałem na necie opisów i bibliotek i znalazłem
ale teraz mam następujacy problem
jak przekazać do klasy która twoży wykresy dane w postaci tablicy
jak robie w następujacy sposób
  1. <?php
  2.  $url="localhost";
  3. $uzyt="xxxx";
  4. $haslo="xxxx";
  5. $b_danych="uszki";
  6. @ mysql_connect($url,$uzyt,$haslo) or die ("Nie mozna polaczyc sie z baza danych");
  7. mysql_select_db($b_danych);
  8. $query = "SELECT * FROM umowy";
  9. $result = mysql_query ($query);
  10. $wartosc = 0;
  11. $data = array(
  12.  array('a',0,0,0),
  13. );
  14. echo $data[0][0].'&nbsp;,&nbsp;'.$data[0][1].'&nbsp;,&nbsp;'.$data[0][2].'&nbsp;,&nbsp;'.$data[0][3];
  15. echo'<br />';
  16.  
  17. while ($row = mysql_fetch_array($result))
  18. {
  19.  
  20.  $query1 = "SELECT * FROM komsultanci WHERE id_k=".$row['id_k'];
  21.  $result1 = mysql_query ($query1);
  22.  $row1=mysql_fetch_array($result1);
  23.  if ($row['id_k']==1)
  24. {
  25.  $data[0][1] = $data[0][1] + $row['kwota'];
  26.  $legenda[0] = $row1['imie'].' '.$row1['nazwisko'];
  27. }
  28.  elseif ($row['id_k']==2)
  29. {
  30.  $data[0][2] = $data[0][2] + $row['kwota'];
  31.  $legenda[1] = $row1['imie'].' '.$row1['nazwisko'];
  32. }
  33.  elseif ($row['id_k']==3)
  34. {
  35.  $data[0][3] = $data[0][3] + $row['kwota'];
  36.  $legenda[2] = $row1['imie'].' '.$row1['nazwisko'];
  37. }
  38. }
  39.  
  40. echo $data[0][0].'&nbsp;,&nbsp;'.$data[0][1].'&nbsp;,&nbsp;'.$data[0][2].'&nbsp;,&nbsp;'.$data[0][3];
  41. echo'<br />';
  42.  $example_data = $data;
  43.  global$data;
  44. ?>
  45. <img src="index5.php" border="0" />

to jest index.php
a to index5.php
  1. <?php
  2. //Include the code
  3. include('phplot.php');
  4. $example_data = $data;
  5. //Define the object
  6. $graph =& new PHPlot(800,400);
  7. $graph->SetDataType("text-data"); //Must be called before SetDataValues
  8. $graph->SetDataValues($data);
  9. $graph->SetLegend($legenda);
  10. $graph->SetLegendPixels(530,20);
  11. $graph->SetXTitle("Punkty kontrolne");
  12. $graph->SetYTitle("Wyniki sprzedawców.");
  13. $graph->SetYTickIncrement(5);
  14. $graph->SetPlotType("pie ");
  15. $graph->SetXLabelAngle(10); //have to re-set as defined above
  16. $graph->SetNewPlotAreaPixels(70,10,500,300);
  17. $graph->SetPlotAreaWorld(0,0,7,80);
  18. $graph->DrawGraph();
  19. //Print the image
  20. $graph->PrintImage();
  21. ?>


z kolei w nastepujacy sposób mi działa ale niezabardzo mi sie to podoba
  1. <?php
  2. //Include the code
  3. include('phplot.php');
  4.  
  5. //Define the object
  6. $graph =& new PHPlot(800,400);
  7.  $url="localhost";
  8. $uzyt="xxx";
  9. $haslo="xx";
  10. $b_danych="uszki";
  11. @ mysql_connect($url,$uzyt,$haslo) or die ("Nie mozna polaczyc sie z baza danych");
  12. mysql_select_db($b_danych);
  13. $query = "SELECT * FROM umowy";
  14. $result = mysql_query ($query);
  15. $wartosc = 0;
  16. $data = array(
  17.  array('a',0,0,0),
  18. );
  19. while ($row = mysql_fetch_array($result))
  20. {
  21.  
  22.  $query1 = "SELECT * FROM komsultanci WHERE id_k=".$row['id_k'];
  23.  $result1 = mysql_query ($query1);
  24.  $row1=mysql_fetch_array($result1);
  25.  if ($row['id_k']==1)
  26. {
  27.  $data[0][1] = $data[0][1] + $row['kwota'];
  28.  $legenda[0] = $row1['imie'].''.$row1['nazwisko'];
  29. }
  30.  elseif ($row['id_k']==2)
  31. {
  32.  $data[0][2] = $data[0][2] + $row['kwota'];
  33.  $legenda[1] = $row1['imie'].' '.$row1['nazwisko'];
  34. }
  35.  elseif ($row['id_k']==3)
  36. {
  37.  $data[0][3] = $data[0][3] + $row['kwota'];
  38.  $legenda[2] = $row1['imie'].' '.$row1['nazwisko'];
  39. }
  40. }
  41. $example_data = $data;
  42. $graph->SetDataType("text-data"); //Must be called before SetDataValues
  43. $graph->SetDataValues($example_data);
  44. $graph->SetLegend($legenda);
  45. $graph->SetLegendPixels(530,20);
  46. $graph->SetXTitle("Punkty kontrolne");
  47. $graph->SetYTitle("Wyniki sprzedawców.");
  48. $graph->SetYTickIncrement(5);
  49. $graph->SetPlotType("pie ");
  50. $graph->SetXLabelAngle(10); //have to re-set as defined above
  51. $graph->SetNewPlotAreaPixels(70,10,500,300);
  52. $graph->SetPlotAreaWorld(0,0,7,80);
  53. $graph->DrawGraph();
  54. //Print the image
  55. $graph->PrintImage();
  56. ?>


--------------------
Everything should be made as simple as possible, but not simpler. - A.Eainstein
Go to the top of the page
+Quote Post
Tajny
post 20.01.2006, 00:50:41
Post #2





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 28.07.2005
Skąd: 64-100 Leszno

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


sprobuj w index5.php dac global $data choc chyba to duzo nie da ;

proponuje zaczac uzywac sesji i obiektow przy tego typu operacjach.

utworz obiekt, pozniej jego instancje , a w obiekcie pobieraj dane z bazy, w samym pliku wyswietlajacym ( u ciebie index5.php ) inlcuduj klasy obiektu i jego instancje, dodaj global przy zmiennej trzymajacej instancje , wtedy zadziala na bank. Sam uzywam phplota i taka jest kolej rzeczy.


--------------------
"Who controls the past controls the future. Who controls the present controls the past. "
Go to the top of the page
+Quote Post
krzyszbi
post 20.01.2006, 11:48:33
Post #3





Grupa: Zarejestrowani
Postów: 251
Pomógł: 13
Dołączył: 15.09.2005

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


witam
a może jakiś kawałek kodu co coś takiego robi
mam zamoar zacząć używać jakiejś kalcy do Mysql-a
jak dostane linka gdzie jakoś w miare przystępnie jest to przedstawione to sobie sam spróbuje reszty poszukać
z góry dzieki


--------------------
Everything should be made as simple as possible, but not simpler. - A.Eainstein
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.07.2025 - 00:29