przekonwertować zestaw wyników mysql na obiekt (nazwa, dane), który ma zostać wprowadzony do HighCharts
ja używamWykres słupkowy HighCharts wydrukować dane ze zbioru wynikowego mysql na wykresie słupkowym.
Teraz wynik mojego zapytania jest następujący:
Name Expense
-----------------
July 700.0000
August 450.0000
September 1700.0000
Theseries
właściwość HighCharts wymaga danych w formacie poniżej w celu wykreślenia wykresu
[
{name:"July",data:[700.0000]},
{name:"August",data:[450.0000]},
{name:"September",data:[1700.0000]}
]
Pomyślałem więc o przykryciu mojego zestawu wyników do obiektu JSON za pomocąjson_encode($row)
. Ale mam następujące dane wyjściowe:
[{"name":"July","data":"700.0000"},
{"name":"August","data":"450.0000"},
{"name":"September","data":"1700.0000"}]
Wątpienie:
Czy istnieje sposób na uzyskanie / przekształcenie zestawu wyników w dokładnie takim samym formacie, jaki jest wymagany przez właściwość serii HighCharts?Czy mogę także użyć obiektu utworzonego w bloku php, bezpośrednio w javascript? Powiedz, że tworzę obiekt$jsonNameData
z mojego zestawu wyników. Czy mogę używać go w javascript jako
series: <? echo $jsonNameData ?>
EDYTOWAĆ:
Udało mi się rozwiązać Q1, wykonując następujące czynności:
$count = 0;
$strSeries = "[";
while($r = mysql_fetch_assoc($result)) {
if($count == 0){
$strSeries .= "{name:'" . $r['name'] . "',";
$strSeries .= "data:[" . $r['data'] . ']}';
$count = 1;
}
else {
$strSeries .= ",{name:'" . $r['name'] . "',";
$strSeries .= "data:[" . $r['data'] . ']}';
}
$rows[] = $r;
}
$strSeries .= "]";
Dostałem wymagany ciąg$strSeries
.
Teraz problemem jest drugie pytanie. Przypisałem wartość$strSeries
do zmiennej w javascript, ale gdy używam tej zmiennej jako
series: variableName
Nie drukuje wykresu prawidłowo, nawet jeśli zmienna ma odpowiednią wartość (sprawdzone za pomocą alertu).