![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 14.04.2010 Ostrzeżenie: (0%) ![]() ![]() |
Chciałbym uzyskać taki obiekt w JS ze zmiennych, które pochodzą z PHP.
Kod var datasets = { "usa": { label: "USA", data: [[1988, 483994], [1989, 479060], [1990, 457648], [1991, 401949], [1992, 424705], [1993, 402375], [1994, 377867], [1995, 357382], [1996, 337946], [1997, 336185], [1998, 328611], [1999, 329421], [2000, 342172], [2001, 344932], [2002, 387303], [2003, 440813], [2004, 480451], [2005, 504638], [2006, 528692]] }, "russia": { label: "Russia", data: [[1988, 218000], [1989, 203000], [1990, 171000], [1992, 42500], [1993, 37600], [1994, 36600], [1995, 21700], [1996, 19200], [1997, 21300], [1998, 13600], [1999, 14000], [2000, 19100], [2001, 21300], [2002, 23600], [2003, 25100], [2004, 26100], [2005, 31100], [2006, 34700]] }, { ... } Walcze, Kod <script> var datasets = new Array(); var datasets2 = new Array(); <?php foreach($zmienna as $zm):?> datasets.label = '<?=$zm->wartosc?>'; <?php for($i = 0; $i < count($zm->a); $i++):?> datasets.data.push([i,<?=$zm->a[$i]?>]); i++; <?php endfor;?> datasets2['<?=$zm->name?>'] = datasets; <?php endforeach;?> </script> ale to nie działa jak należy.. Obiekty PHP mają juz odpowiednią strukturę do tych pętli. Ten post edytował piespluto 17.04.2010, 00:31:57 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 178 Pomógł: 596 Dołączył: 25.09.2009 Skąd: Piwniczna-Zdrój Ostrzeżenie: (0%) ![]() ![]() |
Jeśli $zmienna ma taką postać, jaką powinien mieć obiekt JavaScript, to wykorzystaj funkcję json_encode(). Od wersji PHP 5.2.0 jest to funkcja podstawowa, dla niższych musimy instalować rozszerzenie. Przykład:
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 14.04.2010 Ostrzeżenie: (0%) ![]() ![]() |
Źle się wyraziłem, że ma taką postać jak obiekt JS.
Ma taką postać jak poniżej:
Więc jakby przygotowaną do tego żeby z niej utworzyć obiekt JS przy pomocy pętli. Drugą wartością dla pola data z obiektu JS będzie licznik pętli pomoże ktoś ? Ten post edytował piespluto 17.04.2010, 17:58:45 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 64 Pomógł: 0 Dołączył: 3.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
<script type="text/javascript">
var datasets = <?php echo json_encode($zmienna); ?>; </script> Powinno dzialac.. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 14.04.2010 Ostrzeżenie: (0%) ![]() ![]() |
Otrzymuje coś takiego, więc nie do końca to co chcę uzyskać [{"name":"test1","id":"22","position":["5","5","5","5","5","5","5","5","5","5","5","5","5","5"]},{"name":"test2","id":"24","position":["1","1","1","1","1","1","1","1","1","1","1"]}];
Jak widać pole data powinno zawierać tablice dwuelementowe a funckją json_encode tego nie uzyskam.. Jakieś inne pomysły ? A jednak, po gimnastyce udało sie przy pomocy json_encode() osiągnąć zamierzoną postać , dzięki za pomoc ! Ten post edytował piespluto 18.04.2010, 22:27:07 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 07:39 |