Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL][PostgreSQL]pchart petla pobrania danych z bazy
Forum PHP.pl > Forum > Przedszkole
n0cturnus
witam wszystkich. mam następujący problem- chciałbym wykorzystać pchart do utworzenia wykresu. Stworzony w nim wykres orginalnie pobiera dane sztywno wpisane:
  1. <?php
  2. // Dataset definition
  3. $DataSet = new pData;
  4. $DataSet->AddPoint(array(1,4,3,4,3,3,2,1,0,7,4,3,2,3,3,5,1,0,7),"Serie1");
  5. $DataSet->AddPoint(array(1,4,2,6,2,3,0,1,5,1,2,4,5,2,1,0,6,4,2),"Serie2");
  6. $DataSet->AddAllSeries();
  7. $DataSet->SetAbsciseLabelSerie();
  8. $DataSet->SetSerieName("January","Serie1");
  9. $DataSet->SetSerieName("February","Serie2");
  10. ?>


ja chciałbym aby pobierał dane z bazy z kolejnych wierszy danej tab z bd.

  1. <?php
  2. while ($row=pg_fetch_assoc($result1)){
  3. extract($row);
  4. $DataSet->AddPoint(array($odczyt, 10),"Serie1");}
  5. $DataSet->AddPoint(array("Jan","Maria"),"Serie2");
  6. $DataSet->AddAllSeries();
  7. $DataSet->SetAbsciseLabelSerie("Serie2");
  8. ?>

niestety pętla nie dziala jak powinna, gdyż na wykresie rysuje się ostatnia pozycja bądz pierwsza pobrana wartość. Proszę o pomoc w stworzeniu kodu który by rysowal wszystkie pobrane dane.

na str pchart znalazlem następujące kody :
1.
  1. <?php
  2. $Requete = "SELECT `value` FROM `data` ORDER BY `id`";  
  3.   2. $result  = mysql_query($Requete,$db);  
  4.   3. while ($row = mysql_fetch_array($result))  
  5.   4.  { $DataSet->AddPoint($row["value"],"Serie1"); }
  6. ?>

i to by bylo to tylko zeby rysowal rząd danych a nie 1.
oraz
  1. <?php
  2. 1. $Requete = "SELECT `value1`,`value2`,`value3` FROM `data` ORDER BY `id`";  
  3.   2. $result  = mysql_query($Requete,$db);  
  4.   3. while ($row = mysql_fetch_array($result))  
  5.   4.  {  
  6.   5.   $DataSet->AddPoint($row["value1"],"Serie1");  
  7.   6.   $DataSet->AddPoint($row["value2"],"Serie2");  
  8.   7.   $DataSet->AddPoint($row["value3"],"Serie3");  
  9.   8.  }
  10. ?>

tu rysuje kolejne punkty ale w zapytaniu nie moge sobie pozwolic na value1 value2 tylko na 1 kolumnę z tab.
jakieś pomysły? gotowe rozwiązania ?smile.gif[php][/php]
nospor
$DataSet->AddPoint(array(1,4,3,4,3,3,2,1,0,7,4,3,2,3,3,5,1,0,7),"Serie1");

czyli dodajesz taką tablice: array(1,4,3,4,3,3,2,1,0,7,4,3,2,3,3,5,1,0,7)
zbuduj wiec najpierw w petli while co pobierasz dane z bazy taką tablice, a nastepnie juz poza petlą wykonuj swoj kod dodawania wykresu. No naprawde nie wiem w czym problem
Kalinowcyk
  1. <?php
  2. while ($row=pg_fetch_assoc($result1)){
  3. //extract($row);
  4. $DataSet->AddPoint($row['nazwa_kolumny'],"Serie1");}
  5. $DataSet->AddPoint(array("Jan","Maria"),"Serie2");
  6. $DataSet->AddAllSeries();
  7. $DataSet->SetAbsciseLabelSerie("Serie2");
  8. ?>


Spróbuj tak, oczywiście 'nazwa_kolumny' zamień na odpowiednią nazwę kolumny w bazie.
n0cturnus
Jesteś WIELKI dziękuje bardzo exclamation.gif!!!
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.