Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript][PHP] Przekazanie dwóch tablic do JS
--Krzysiek--
post
Post #1





Goście







Witam,

w funckji js mam coś takiego
  1. function funkcjaNazwa (){
  2.  
  3. var values1 = new Array(100,34,56,78,99,112);
  4. var values2 = new Array(55,23,5,33,80,59);
  5. .
  6. .
  7. .
  8. }


chciałbym te tablice wypełnić tablicami z php

użyłem
  1. echo json_encode($tab); // otrzymuję ["123","223","123","97"]


jak to teraz zapakować do funkcji JS?
próbowałem przez parametry, ale nie daje to efektu
Go to the top of the page
+Quote Post
tolomei
post
Post #2





Grupa: Zarejestrowani
Postów: 450
Pomógł: 135
Dołączył: 18.11.2010
Skąd: Wschowa

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


Witaj.

Może tak:

  1. var values1 = <?php echo $tab; ?>;


JSONa nie musisz rozkodowywać jeśli chcesz go używać w JavaScript.

Pozdrawiam.


--------------------
“ Computers are good at following instructions, but not at reading your mind. ”
- Donald Knuth
Go to the top of the page
+Quote Post
--krzysiek--
post
Post #3





Goście







hej, no tak też nie działa.
gdy jest tak jak teraz i wywołam np. pod jakimś buttonem onClick działa ok.
values1 i 2 pochodzą z zapytania sql

Array ( [0] => 123 [1] => 223 [2] => 123 [3] => 97 )

próbowałem też implode i potem showChart(<?php echo <toCoZimplode> ?>, <?php echo inneImplode ?>)
ale to jest do luftu, nie działa.
  1.  
  2. function showChart()
  3. {
  4. var values1 = new Array(100,50);
  5. var values2 = new Array(50,100);
Go to the top of the page
+Quote Post
tolomei
post
Post #4





Grupa: Zarejestrowani
Postów: 450
Pomógł: 135
Dołączył: 18.11.2010
Skąd: Wschowa

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


A tam nie działa.
Nie ma prawa nie działać.

http://ideone.com/EhEggu
http://jsbin.com/ajeguf/1/

Przy drugim przykładzie zobacz w konsoli.

Masz coś dalej w skrypcie nie tak.


--------------------
“ Computers are good at following instructions, but not at reading your mind. ”
- Donald Knuth
Go to the top of the page
+Quote Post
--krzysiek--
post
Post #5





Goście







no nie działa,

w skrypcie js w prostej pętli przesuwam się po tych tablicach z osobna. gdy zakodowałem jak wskazałeś tak jakbym jechał po każdej cyferce po kolei a nie liczbie.

new Array(123, 123, 1123)

potrzebuję to w js dokładnie w takiej postaci
Go to the top of the page
+Quote Post
tolomei
post
Post #6





Grupa: Zarejestrowani
Postów: 450
Pomógł: 135
Dołączył: 18.11.2010
Skąd: Wschowa

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


Pokaż więcej kodu jeśli możesz.


--------------------
“ Computers are good at following instructions, but not at reading your mind. ”
- Donald Knuth
Go to the top of the page
+Quote Post
--krzysiek--
post
Post #7





Goście







jak odpale to z onClick to działa ładnie, ale chce tą funkcję sparametryzować
js ( kod by Sephirus )
  1.  
  2. function showChart()
  3. {
  4. var values1 = new Array(100,50);
  5. var values2 = new Array(50,100);
  6. var bar1Width = 30;
  7. var bar1Spacing = 5;
  8.  
  9. var chart = document.getElementById('chart');
  10. chart.innerHTML = '';
  11. for(var i = 0; i < values1.length; i++)
  12. {
  13. var bar = document.createElement('div');
  14. bar.className = 'bar';
  15. bar.style.left= i*(bar1Width+bar1Spacing+2)+'px';
  16. bar.style.height = values1[i]+'px';
  17. bar.style.width = bar1Width+'px';
  18. chart.appendChild(bar);
  19.  
  20. var bar = document.createElement('div');
  21. bar.className = 'bar orange';
  22. bar.style.left= i*(bar1Width+bar1Spacing+2)+3+'px';
  23. bar.style.height = values2[i]+'px';
  24. bar.style.width = bar1Width-6+'px';
  25. bar.style.zIndex = 2;
  26. chart.appendChild(bar);
  27. }
  28. }
  29.  
Go to the top of the page
+Quote Post
tolomei
post
Post #8





Grupa: Zarejestrowani
Postów: 450
Pomógł: 135
Dołączył: 18.11.2010
Skąd: Wschowa

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


Wiesz co my się chyba nie rozumiemy.
Może kto inny Ci pomoże.

Mnie to działa:
http://jsbin.com/enidic/2/edit

HTML, który tworzy skrypt:
  1. <div class="bar" style="left: 0px; height: 12px; width: 30px;"></div>
  2. <div class="bar orange" style="left: 3px; height: 3px; width: 24px; z-index: 2;"></div>
  3. <div class="bar" style="left: 37px; height: 3px; width: 30px;"></div>
  4. <div class="bar orange" style="left: 40px; height: 13px; width: 24px; z-index: 2;"></div>
  5. <div class="bar" style="left: 74px; height: 7px; width: 30px;"></div>
  6. <div class="bar orange" style="left: 77px; height: 17px; width: 24px; z-index: 2;"></div>


Powodzenia.


--------------------
“ Computers are good at following instructions, but not at reading your mind. ”
- Donald Knuth
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 Aktualny czas: 20.08.2025 - 06:15