Autor Zpráva
hlz
Profil *
Ahoj,

potřeboval bych použít proměnné z PHP v JS kódu. Použil jsem tohle téma, ale nepomohlo mi to.

Ukládat do COOKIES to nechci, potřebuji to použít v API na Google Charts a tam je těch proměnných do grafu opravdu hodně (tahám je z DB). Podle zmíněného tématu jsem použil toto
  <?
  $text = "Lorem Ipsum";
  ?>  
<script>
var text = <? echo($text); ?>;
document.write(text);
</script>
Nefunguje. Je tu sice ještě jedno téma, ale moc osvětlené to tam také není, navíc je tam ukázka v OOP, což neumím-

Děkuji
juriad
Profil
  <?
  $text = "Lorem Ipsum";
  ?>  
<script>
var text = "<? echo($text); ?>";
document.write(text);
</script>
Chyběly uvozovky. Tato problematika je dokonce popsaná i v Nejčastější potíže s PHP (FAQ) » Jak přenést proměnnou z PHP do javascriptu

Co vidí server (zbytek ho nezajímá):
  <?
  $text = "Lorem Ipsum";
  ?>  
#######
############<? echo($text); ?>##
##############
#######

Co vidí prohlížeč:
<script>
var text = "Lorem Ipsum";
document.write(text);
</script>

Co vidí člověk:
Lorem Ipsum
hlz
Profil *
Děkuji. Ještě bych poprosil, neznám syntaxi JS, nikdy jsem s ním nepracoval, jak ty PHP proměnné dát sem?

        var data = new google.visualization.DataTable();
        data.addColumn('string', 'Topping');
        data.addColumn('number', 'Slices');
        data.addRows([
          ['Mushrooms', 3],
          ['Onions', 1],
          ['Olives', 1],
          ['Zucchini', 1],
          ['"<? echo $promenna; ?>"', 2]
        ]);

Místo těch jednotlivých názvů a čísel. Půjde to, nebo budu muset vytvořit proměnné v JS a ty tam dát? Na posledním řádku jsem to zkusil, bude to takhle fungovat?
anonymni
Profil *
hlz:
Na posledním řádku jsem to zkusil, bude to takhle fungovat?
proč to nezkusíš?

Podívej se do zdrojového kódu, co v tom JS máš. Na to není třeba znát syntaxi, abys porovnal správně zapsaný řádek (ten původní, o řádek výš) a tvůj.
hlz
Profil *
Dobře. to ano, ale co druhý sloupeček? První jsem dal bez uvozovek
['<? echo $promenna; ?>', 2]
jenže v druhém to nefunguje ani tak jako na níže na prvním řádku ani jako na druhém
['Zucchini', <? echo $pocet; ?>],
['Zucchini', '<? echo $pocet; ?>']



Omlouvám se, moje chyba. Jde to
Radek9
Profil
hlz:
Pro výpis stringu je lepší použít toto:
var str = <?php echo JSON_encode($text); ?>;

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: