Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][PHP]json_decode i wyciaganie danych z tablicy
Forum PHP.pl > Forum > Przedszkole
artero
Witajcie, mam taki problem ponieważ mam slider który pracuje na jquery i wrzuca się do niego slajdy właśnie przez javascript. Z racji że jest to dynamiczna strona i nie mogę założyć że będzie np.tylko 5 slajdów to muszę wrzucić to do pętli i tu się pojawia problem. Bo jak jest statycznie kilka to wiem jak zrobić ale jak ma być w pętli to już nie mam pojęcia... oto kod:

  1. <?php
  2. $intro = get_intro_page();
  3. $count = count($intro);
  4. //pre($intro);
  5. ?>
  6.  
  7.  
  8. <script>
  9. for(var i=0; i<<?= json_encode($count); ?>; i++)
  10. {
  11. alert(<?= json_encode($intro[i]); ?>); << tutaj
  12. var photos = [{
  13. "cssclass" : "box",
  14. "image" : <?= json_encode($intro[i]); ?>, <<tutaj
  15. }];
  16. }
  17. </script>


tam gdzie zaznaczyłem "<< tutaj" są zmiene "i" z pętli która działa. ale chodzi mi teraz o to że php nie widzi w taki sposób zmiennych javascript :/

No i wreszcie pytanie smile.gif w jaki sposób mam wyciągnąć z tablicy $intro każdy po kolei rekord aby stworzyły się z tego slajdy.


p.s. prosiłbym o szybką odpowiedź smile.gif
b4rt3kk
Zmienne JS pozostają zmiennymi JS, a PHP zmiennymi PHP. Po to używasz json by jeden język mógł "zrozumieć" i odczytać zmienne drugiego. Poza tym:

  1. $count = count($intro);


nie wymaga kodowania json. Stosujesz to dla zmiennych tablicowych.
artero
no dobrze, dzięki za odpowiedź i za wytłumaczenie po co używa się json, ale w takim razie w jaki sposób mam napisać tą pętle?
b4rt3kk
Zależy wszystko od tego jak wygląda Twoja tablica w PHP. W głównej mierze chodzi o indeksy. Jeśli są one liczbowe:

  1. var tablica = <?php echo json_encode($intro); ?>;
  2.  
  3. for(var i=0; i<tablica.length; i++)
  4. {
  5. alert(tablica[i]);
  6. }
artero
Wielkie dzięki smile.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.