Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][js]jak przekazać tablicę z php do js
Forum PHP.pl > Forum > Przedszkole
lucks
wiem ze zmienną mozgę przesłac tak:
  1. $zmienna = "Zmienna w php wyswietlona przez javascript"; ?>
  2. <script LANGUAGE="JavaScript" type="text/javascript"> 
  3. <!-- // 
  4. var zmienna="<?php echo $zmienna; ?>"; 
  5.  
  6. document.write(zmienna); 
  7. // --> 
  8. </SCRIPT>


problem w tym ze ja mam całą tablicę którą chce dopiero przetwarzac w js,
chce przekazac tablice jako parametr funkcji w js

  1. print_field('<?$cat_name?>');


$cat_name chce mieć jako tabilcę w funkcji print_field napisasaej w JS
wykonalne?

zrobiłem taki myk:
  1. cat_name=new <? print_r($cat_name);?>;

ale wywala mi sie na "=>"
na jakis string by moze trzeba zamienić... tylko jak?
Cysiaczek
Wykonalne, ale korkołomne.

  1. var tablica= new Array();
  2.  
  3. tablica[]=<?php print $tablica['klucz1'] ?>
  4. tablica[]=<?php print $tablica['klucz2'] ?>

O tak, Lub ładniej w petli w foreach wygenerować sobie kod JS

  1. <?php
  2. foreach($tablica as $key=>$value){
  3. print "tablica['".$key."']=".$value;
  4.  
  5. }
  6. ?>
kossa
php wykonywane jest po stronie serwera, JS po stronie przeglądarki, zatem z php wygeneruj kod Twoje fukcji do pretwarzania danych

np:
  1. <?php
  2. echo "var string;" //itd...
  3. ?>


jeśli masz z tym problem to napisz funkcję w java script a później dop. zamień ją na php

Łukasz
cyphelf
Polecam JSON i jego implementację w Zend Framework - Zend_Json.
lucks
mam teraz taką sytuację:
w mojej funkcji jako category mam tablicę
  1. function print_field(category)


po wyswietleniu dostaje taką tablicę (a moze string?)

  1. document.write(category);
  2. cat_name[0]=TEKST, cat_name[1]=TEKST, cat_name[2]=TEKST,


najlepsze jest to ze mam kazdą literę tego ciągu w tablicy czyli np category[0] daje "c" category[1] "a"
a ja chce tylko warosci

tablice tworze skryptem:

  1. print_field('<? foreach($cat_name as $key=>$pr_name){echo "cat_name[".$key."]=".$pr_name.", "; }?>');


jak to poprawnie zapisać zeby $pr_name wyświetiło sie z cudzysłowami?

  1. <?php
  2. echo "cat_name['".$key."']=".$pr_name.", ";
  3. ?>
Ziels
  1. <?php
  2. echo "cat_name['$key']="$pr_name", ";
  3. ?>


Powinno być ok
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.