PHP paraméter átadása Javascript változónak?
Javascript segítségével van egy grafikon, és SQL segítségével kiszűrök minden egyes adatot amit meg akarok jeleníteni a grafikonon.
Viszont Javascript változónak hogyan adjam át a PHP változót?
Próbáltam így: var darab=<?php $db?> illetve print/echo utasítást elé de sehogy sem jó.
Hogyan lehet a legegyszerűbben átadni PHP-ből JS-be egy változót?
PHP generálja a html-t a html meg "generálja" a js-t
Szóval
PHP-ben
<?php
printf("<script> darab = %d;</script>",$db);
?>
Persze printf helyett más lehetséges módok is léteznek, de a lényeg, hogy nem a php adja át a js-nek a változót ebben a formában.
Van még ajax és rá épülő jquery mód is, akkor a js kezdeményezi a változó bekérését és a php adja vissza valamikor.
var darab=<?php $db?>
Ez alapvetően nem is lenne rossz, csak hiányzik belőle egy echo vagy egy printf.
És arra is figyelni kell, hogy szintaktikailag rendben legyen (mondjuk a $db és a záró ?> nem ártana egy szóköz), illetve tudni kellene, hogy mi a $db tartalma. Mert ha az pl. egy tömb, akkor nem fogod tudni így kiíratni.
"máshoz is kell a PHP így nem játszik hogy JS-el szedem ki az adatbázisból az adatokat."
Nem értem...
2 opció van:
vagy oldal betöltésekor kigenerálsz a php-vel fix értékeket js kódba (változóknak adod) és onnantól kezdve azokat használod a js-el. ez akkor használható, ha pl a grafikon adatforrását akarod így átadni. bááár nem javaslom annyira (tervezési szempontból nem szerencsés, de ez a "legegyszerűbb")
vagy ami minden esetben tökéletesen működik: XHR
betöltődik az oldal, betöltődik a js, majd az első betöltéskor be is kérdez egy api-n keresztül ajax-al. minden paramétermódosítás esetén (pl más tartományt jelölsz ki a grafikonon) új ajax hívás megy az api-nak ami visszaadja (mondjuk json-ben) és megjeleníted.
nem értem, hogy az utóbbi megoldás miért nem jó. (gondolom erre értetted, hogy JS-el szeded ki az adatokat... nyilván itt is php szolgál ki, hiszen olyan butaságot nem csinálunk, hogy a js közvetlenül kapcsolódik a db-hez amit kiraksz public-ra, mert az NAGYON nem ajánlott. főleg ha a db user-nek nem csak select joga van). szóval őszintén nem értem hogy ezzel mi a gond és hogy ez mire nem elég?
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!