Witam,
mam problem z wygenerowaniem wykresu poprzez pChart. Wysztko działa dobrze do momentu gdy chcę dodać pola input z wyborem dat. O to co wymyśliłem:
index.php
  1. <html lang="pl">
  2. <head>
  3. <meta charset="utf-8" />
  4. <title>Statystyki</title>
  5. <script type="text/javascript"
  6. src="http://sciezka/jquery-ui-1.10.3/ui/i18n/jquery.ui.datepicker-pl.js">
  7. </script>
  8. <link rel="stylesheet" href="http://sciezka/jquery-ui-1.10.3/themes/base/jquery-ui.css" />
  9. <script src="http://sciezka/jquery-ui-1.10.3/jquery-1.9.1.js"></script>
  10. <script src="http://sciezka/jquery-ui-1.10.3/ui/jquery-ui.js"></script>
  11. <link rel="stylesheet" href="/resources/demos/style.css" />
  12. <script>
  13. $(function() {
  14. $('#data_poczatkowa').datepicker($.extend({
  15. dateFormat:'yy-mm-dd'
  16. },
  17. $.datepicker.regional['pl']
  18. ) );
  19. } );
  20. </script>
  21. <script>
  22. $(function() {
  23. $( "#data_koncowa" ).datepicker($.extend({
  24. dateFormat:'yy-mm-dd'
  25. },
  26. $.datepicker.regional['pl']
  27. ));
  28. });
  29. </script>
  30. </head>
  31. <body>
  32. <form action="detail_raport.php" method="GET">
  33. <p>Data poczatkowa: <input type="text" name="data_poczatkowa" id="data_poczatkowa"/></p>
  34. <p>Data koncowa: <input type="text" name="data_koncowa" id ="data_koncowa"/></p>
  35. </body>
  36. <input type="submit" value="Generuj Raport">
  37. </form>
  38. </body>
  39. </html>


detail_raport.php
  1. <?php
  2. $data_poczatkowa = $_GET['data_poczatkowa'];
  3. $data_koncowa = $_GET['data_koncowa'];
  4. ?>
  5. <html>
  6. <head>
  7. <title> Nowe </title>
  8. </head>
  9. <body>
  10. Wybrany zakres dat to <?php echo $data_poczatkowa; ?> i <?php echo $data_koncowa; ?> </br>
  11. Wykres:</br>
  12. <img src="wykers_pchart.php"></img>
  13. </body>
  14. </html>


wykres_pchart.php
  1. <?php
  2. /* CAT:Pie charts */
  3.  
  4. /* pChart library inclusions */
  5. include("pChart/class/pData.class.php");
  6. include("pChart/class/pDraw.class.php");
  7. include("pChart/class/pPie.class.php");
  8. include("pChart/class/pImage.class.php");
  9. include("sql_new.php");
  10.  
  11. /* Create and populate the pData object */
  12. $MyData = new pData();
  13. $MyData->addPoints(array($senior,$normalny,$szybki,$bardzo_szybki,$biznes_dom,$biznes_dom_szybki),"ScoreA");
  14. $MyData->setSerieDescription("ScoreA","Application A");
  15.  
  16. /* Define the absissa serie */
  17. $MyData->addPoints(array("Senior-$senior","Normalny-$normalny","Szybki-$szybki","Bradzo Szybki","Biznes DOM","BIZNES Dom Szybki"),"Labels");
  18. $MyData->setAbscissa("Labels");
  19.  
  20. /* Create the pChart object */
  21. $myPicture = new pImage(400,400,$MyData);
  22.  
  23. /* Draw a solid background */
  24. $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
  25. $myPicture->drawFilledRectangle(0,0,400,400,$Settings);
  26.  
  27. /* Overlay with a gradient */
  28. $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
  29. $myPicture->drawGradientArea(0,0,400,400,DIRECTION_VERTICAL,$Settings);
  30. $myPicture->drawGradientArea(0,0,400,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>100));
  31.  
  32. /* Add a border to the picture */
  33. //$myPicture->drawRectangle(0,0,399,399,array("R"=>0,"G"=>0,"B"=>0));
  34.  
  35. /* Write the picture title */
  36. $myPicture->setFontProperties(array("FontName"=>"/pChart/fonts/Forgotte.ttf","FontSize"=>14));
  37. $myPicture->drawText(10,20,"Raport z $data_poczatkowa do $data_koncowa",array("R"=>255,"G"=>255,"B"=>255));
  38.  
  39. /* Set the default font properties */
  40. $myPicture->setFontProperties(array("FontName"=>"/pChart/fonts/Forgotte.ttf","FontSize"=>14,"R"=>80,"G"=>80,"B"=>80));
  41.  
  42. /* Enable shadow computing */
  43. $myPicture->setShadow(TRUE,array("X"=>2,"Y"=>2,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>50));
  44.  
  45. /* Create the pPie object */
  46. $PieChart = new pPie($myPicture,$MyData);
  47.  
  48. /* Draw an AA pie chart */
  49. //$PieChart->draw3DRing(200,200,array("WriteValues"=>TRUE,"DrawLabels"=>TRUE,"LabelStacked"=>TRUE,"Border"=>TRUE));
  50.  
  51. $PieChart->draw3DPie(200,200,array("WriteValues"=>TRUE,"DataGapAngle"=>10,"DataGapRadius"=>6,"Border"=>TRUE,"DrawLabels"=>TRUE));
  52.  
  53. /* Write the legend box */
  54. $PieChart->drawPieLegend(10,360,array("Mode"=>LEGEND_HORIZONTAL,"Style"=>LEGEND_NOBORDER,"Alpha"=>20));
  55.  
  56. /* Render the picture (choose the best way) */
  57. $myPicture->autoOutput("wykres_1.png");
  58. ?>


sql_new.php

  1. <?php
  2. $data_poczatkowa = $_GET['data_poczatkowa'];
  3. $data_koncowa = $_GET['data_koncowa'];
  4. $connect = mysql_connect('localhost', 'user', 'pass');
  5. if (!$connect) {
  6. die('Nie mozna podlaczyc bazy: ' . mysql_error());
  7. }
  8.  
  9. // Ustaw foo jako aktualn? baz? danych
  10. $db_selected = mysql_select_db('baza', $connect);
  11. if (!$db_selected) {
  12. die ('Nie mo?na ustawi? foo : ' . mysql_error());
  13. }
  14.  
  15. $query12 = 'SELECT * FROM `dane` where data_rekordu >= "'.$_GET[data_poczatkowa].'" and data_rekordu <= "'.$_GET[data_koncowa].'" and pakiet_int = "senior"';
  16. $query13 = 'SELECT * FROM `dane` where data_rekordu >= "'.$_GET[data_poczatkowa].'" and data_rekordu <= "'.$_GET[data_koncowa].'" and pakiet_int = "normlany"';
  17. $query14 = 'SELECT * FROM `dane` where data_rekordu >= "'.$_GET[data_poczatkowa].'" and data_rekordu <= "'.$_GET[data_koncowa].'" and pakiet_int = "szybki"';
  18. $query15 = 'SELECT * FROM `dane` where data_rekordu >= "'.$_GET[data_poczatkowa].'" and data_rekordu <= "'.$_GET[data_koncowa].'" and pakiet_int = "bardzo_szybki"';
  19. $query16 = 'SELECT * FROM `dane` where data_rekordu >= "'.$_GET[data_poczatkowa].'" and data_rekordu <= "'.$_GET[data_koncowa].'" and pakiet_int = "Biznes_dom"';
  20. $query17 = 'SELECT * FROM `dane` where data_rekordu >= "'.$_GET[data_poczatkowa].'" and data_rekordu <= "'.$_GET[data_koncowa].'" and pakiet_int = "Biznes_Dom_Szybki"';
  21. $query18 = 'SELECT * FROM `dane` where data_rekordu >= "'.$_GET[data_poczatkowa].'" and data_rekordu <= "'.$_GET[data_koncowa].'" and pakiet_int = "Biznes_Biuro"';
  22. $query19 = 'SELECT * FROM `dane` where data_rekordu >= "'.$_GET[data_poczatkowa].'" and data_rekordu <= "'.$_GET[data_koncowa].'" and pakiet_int = "Biznes_Biuro_b_szybki"';
  23. $query20 = 'SELECT * FROM `dane` where data_rekordu >= "'.$_GET[data_poczatkowa].'" and data_rekordu <= "'.$_GET[data_koncowa].'" and pakiet_int = "szkola"';
  24. $query21 = 'SELECT * FROM `dane` where data_rekordu >= "'.$_GET[data_poczatkowa].'" and data_rekordu <= "'.$_GET[data_koncowa].'" and pakiet_int = "szkola_max"';
  25. $query22 = 'SELECT * FROM `dane` where data_rekordu >= "'.$_GET[data_poczatkowa].'" and data_rekordu <= "'.$_GET[data_koncowa].'" and pakiet_int = "hbogo"';
  26.  
  27. $wynik12 = mysql_query($query12)
  28. or die (mysql_error());
  29. $senior = mysql_num_rows($wynik12);
  30. $wynik13 = mysql_query($query13)
  31. or die (mysql_error());
  32. $normalny = mysql_num_rows($wynik13);
  33. $wynik14 = mysql_query($query14)
  34. or die (mysql_error());
  35. $szybki = mysql_num_rows($wynik14);
  36. $wynik15 = mysql_query($query15)
  37. or die (mysql_error());
  38. $bardzo_szybki = mysql_num_rows($wynik15);
  39. $wynik16 = mysql_query($query16)
  40. or die (mysql_error());
  41. $biznes_dom = mysql_num_rows($wynik16);
  42. $wynik17 = mysql_query($query17)
  43. or die (mysql_error());
  44. $biznes_dom_szybki = mysql_num_rows($wynik17);
  45. $wynik18 = mysql_query($query18)
  46. or die (mysql_error());
  47. $biznes_biuro = mysql_num_rows($wynik18);
  48. $wynik19 = mysql_query($query19)
  49. or die (mysql_error());
  50. $biznes_biuro_b_szybki = mysql_num_rows($wynik19);
  51. $wynik20 = mysql_query($query20)
  52. or die (mysql_error());
  53. $szkola = mysql_num_rows($wynik20);
  54. $wynik21 = mysql_query($query21)
  55. or die (mysql_error());
  56. $szkola_max = mysql_num_rows($wynik21);
  57. $wynik22 = mysql_query($query22)
  58. or die (mysql_error());
  59. $hbogo = mysql_num_rows($wynik22);
  60.  
  61. mysql_close($connect);
  62. ?>


Jeżeli zrobię tak
  1. <form action="wykres_pchart.php" method="GET">
wykres generuję się normlanie, jednak pokazuje się jako obraz, a ja chciałbym mieć kilka innych wykresów na 1 stronie. Nie wiem czemu, ale wygląda jakby nie pobierało zmiennej $_GET.

Aktualizacja:
Poradziłem sobie poprzez dodanie
  1. <img src="wykres_pchart.php?data_poczatkowa=<?php echo $data_poczatkowa; ?>&data_koncowa=<?php echo $data_koncowa; ?>"></img>
i wykres rysuje się normlanie.